open-education-api / specification

OpenAPI (fka Swagger) specification for the Open Education API.
Other
32 stars 26 forks source link

[Change request]: make the language choice coherent and up ta date for additional use cases #307

Open hamrt opened 8 months ago

hamrt commented 8 months ago

Organization

SURF (on behalf of Enlight)

Project

Enlight

Contact Details

ronald.ham@surf.nl

Short description

Enlight University Alliance IT. We have recently stumbled upon an issue for us. Currently as per OOAPI documentation we should use ISO-639-2 for teachingLanguage in courses. ISO-639-2 doesn't have a lot of different languages we use in teaching like different Finno-Ugri languages (Kamassi for example) or even Estonian sign language. For us this would be solved by using ISO-639-3 with the latter having all the needed languages,.

It seems that a lot of the language elements in ISO 639-2 are also part of ISO 639-3 however in some cases values have changed so for example German has changed from ger to deu, French from fre to fra and Dutch for dut to nld. This could cause some issues when the teachingLanguage setting is not known up front, when digitally handling this information. The current implementors of the specification use the ISO 639-2 specification.

Version

v5

Usecase

Add more languages of teaching also to cater to futher internationalization of the standard

Which institutions support this change?

No response

Proposed solution

Recommendation: Change the teachingLanguage setting to ISO 639-3 (or potentially seek alignment with the languageTypedString format we are also using (RFC3066)) .

Requests and responses

potentially all elements that use languageTypedString but at least components/courses/programs as well ass offerings

What is your question for the OOAPI work group?

No response

mpdejong commented 7 months ago

It might be useful to look at RFC4647 https://www.rfc-editor.org/rfc/rfc4647

In this RFC it is stated that RFC3066 is replaced by RFC4647 in combination with RFC4646. This might offer a more flexibel way to handle all sort of language related issues.

jelmerderonde commented 7 months ago

Just a bit of context to take into account: when we developed v5.0 we intentionally switched to the three letter codes for teachingLanguage. The reasoning was that for a lot of courses (and programs and components), it is not necessarily known whether a course is given in (for example) American English or British English. See PR #233.

That said, I'm interested in the solution @mpdejong mentions.

jelmerderonde commented 6 days ago

Also: some educational offerings are multilangual. Should teachingLanguage be an array?