Override legacy language codes for indonesian, hebrew, and yiddish (#4461)

* Manually override incorrect 'in' to 'id' lang code

* Fix additional legacy language code issues
This commit is contained in:
Paul Frazee 2024-06-10 11:37:14 -07:00 committed by GitHub
parent 620ab88713
commit 59f49bef68
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 2 deletions

View file

@ -116,7 +116,7 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
const langs = appLanguage.split(',').filter(Boolean)
for (const lang of langs) {
switch (lang) {
switch (fixLegacyLanguageCode(lang)) {
case 'en':
return AppLanguage.en
case 'ca':
@ -157,3 +157,20 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
}
return AppLanguage.en
}
export function fixLegacyLanguageCode(code: string | null): string | null {
// handle some legacy code conversions, see https://xml.coverpages.org/iso639a.html
if (code === 'in') {
// indonesian
return 'id'
}
if (code === 'iw') {
// hebrew
return 'he'
}
if (code === 'ji') {
// yiddish
return 'yi'
}
return code
}