Skip to content

Commit

Permalink
html10n: fix variant only langs (e.g zh-*); add comments
Browse files Browse the repository at this point in the history
  • Loading branch information
iquidus committed Apr 24, 2020
1 parent 41394be commit bd15d5c
Showing 1 changed file with 23 additions and 11 deletions.
34 changes: 23 additions & 11 deletions src/static/js/html10n.js
Original file line number Diff line number Diff line change
Expand Up @@ -179,21 +179,33 @@ window.html10n = (function(window, document, undefined) {
return
}

// dat alng ain't here, man!
// Check if lang exists
if (!data[lang]) {
// lang not found
// This may be due to formatting (expected 'ru' but browser sent 'ru-RU')
// Set err msg before mutating lang (we may need this later)
var msg = 'Couldn\'t find translations for '+lang
// Check for '-' ('ROOT-VARIANT')
if (lang.indexOf('-') > -1) {
var msg = 'Couldn\'t find translations for '+lang
lang = lang.split('-')[0] // get root locale incase variant (e.g ru-RU)
if (!data[lang]) { // check root locale (e.g ru)
var l
for(l in data) { // try similar (e.g zh-hans)
if(lang != l && l.indexOf(lang) === 0 && data[l]) {
lang = l
break;
}
// ROOT-VARIANT formatting detected
lang = lang.split('-')[0] // set lang to ROOT lang
}
// Check if ROOT lang exists (e.g 'ru')
if (!data[lang]) {
// ROOT lang not found. (e.g 'zh')
// Loop through langs data. Maybe we have a variant? e.g (zh-hans)
var l // langs item. Declare outside of loop
for(l in data) {
// Is not ROOT?
// And index of ROOT equals 0?
// And is known lang?
if(lang != l && l.indexOf(lang) === 0 && data[l]) {
lang = l // set lang to ROOT-VARIANT (e.g 'zh-hans')
break;
}
if(lang != l) return cb(new Error(msg))
}
// Did we find a variant? If not, return err.
if(lang != l) return cb(new Error(msg))
}
}

Expand Down

0 comments on commit bd15d5c

Please sign in to comment.