diff --git a/modules/ui/fields/localized.js b/modules/ui/fields/localized.js index aeb225435..19cfc2943 100644 --- a/modules/ui/fields/localized.js +++ b/modules/ui/fields/localized.js @@ -15,12 +15,22 @@ var languagesArray = []; function loadLanguagesArray() { if (languagesArray.length !== 0) return; + // some conversion is needed to ensure correct OSM tags are used + var replacements = { + sr: 'sr-Cyrl', // in OSM, `sr` implies Cyrillic + 'sr-Cyrl': false // `sr-Cyrl` isn't used in OSM + }; + for (var code in dataLanguages) { + if (replacements[code] === false) continue; + var metaCode = code; + if (replacements[code]) metaCode = replacements[code]; + languagesArray.push({ - localName: languageName(code, { localOnly: true }), - nativeName: dataLanguages[code].nativeName, + localName: languageName(metaCode, { localOnly: true }), + nativeName: dataLanguages[metaCode].nativeName, code: code, - label: languageName(code) + label: languageName(metaCode) }); } }