mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix locale codes contains underscore will never be preferred (#6116)
This commit is contained in:
parent
57d458233b
commit
1a4203a8c6
@ -7,7 +7,13 @@ const getPreferredLocales = extension.i18n ? promisify(
|
||||
{ errorFirst: false }
|
||||
) : async () => []
|
||||
|
||||
const existingLocaleCodes = allLocales.map(locale => locale.code.toLowerCase().replace('_', '-'))
|
||||
// mapping some browsers return hyphen instead underscore in locale codes (e.g. zh_TW -> zh-tw)
|
||||
const existingLocaleCodes = {}
|
||||
allLocales.forEach(locale => {
|
||||
if (locale && locale.code) {
|
||||
existingLocaleCodes[locale.code.toLowerCase().replace('_', '-')] = locale.code
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Returns a preferred language code, based on settings within the user's browser. If we have no translations for the
|
||||
@ -33,9 +39,10 @@ async function getFirstPreferredLangCode () {
|
||||
}
|
||||
|
||||
const firstPreferredLangCode = userPreferredLocaleCodes
|
||||
.map(code => code.toLowerCase())
|
||||
.find(code => existingLocaleCodes.includes(code))
|
||||
return firstPreferredLangCode || 'en'
|
||||
.map(code => code.toLowerCase().replace('_', '-'))
|
||||
.find(code => existingLocaleCodes.hasOwnProperty(code))
|
||||
|
||||
return existingLocaleCodes[firstPreferredLangCode] || 'en'
|
||||
}
|
||||
|
||||
module.exports = getFirstPreferredLangCode
|
||||
|
Loading…
Reference in New Issue
Block a user