aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/get-first-preferred-lang-code.js
diff options
context:
space:
mode:
authorThomas <thomas.b.huang@gmail.com>2018-05-17 13:44:51 +0800
committerThomas <thomas.b.huang@gmail.com>2018-05-17 13:44:51 +0800
commitd9be7f989a86e3fdfd83e4c632fd08cefd8309e5 (patch)
treebbfeb7098997244ce7e8ce28e896faa2dfb6bb6e /app/scripts/lib/get-first-preferred-lang-code.js
parent06e25205b200b976e286c670cc5e703439dab05c (diff)
parentf441153211c7920573f8bfb699bfda1b6de7efe9 (diff)
downloadtangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar.gz
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar.bz2
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar.lz
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar.xz
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.tar.zst
tangerine-wallet-browser-d9be7f989a86e3fdfd83e4c632fd08cefd8309e5.zip
Merge branch 'testing' of https://github.com/tmashuang/metamask-extension into testing
Diffstat (limited to 'app/scripts/lib/get-first-preferred-lang-code.js')
-rw-r--r--app/scripts/lib/get-first-preferred-lang-code.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/scripts/lib/get-first-preferred-lang-code.js b/app/scripts/lib/get-first-preferred-lang-code.js
index 28612f763..5473fccf0 100644
--- a/app/scripts/lib/get-first-preferred-lang-code.js
+++ b/app/scripts/lib/get-first-preferred-lang-code.js
@@ -2,14 +2,23 @@ const extension = require('extensionizer')
const promisify = require('pify')
const allLocales = require('../../_locales/index.json')
-const existingLocaleCodes = allLocales.map(locale => locale.code)
+const existingLocaleCodes = allLocales.map(locale => locale.code.toLowerCase().replace('_', '-'))
+/**
+ * Returns a preferred language code, based on settings within the user's browser. If we have no translations for the
+ * users preferred locales, 'en' is returned.
+ *
+ * @returns {Promise<string>} Promises a locale code, either one from the user's preferred list that we have a translation for, or 'en'
+ *
+ */
async function getFirstPreferredLangCode () {
const userPreferredLocaleCodes = await promisify(
extension.i18n.getAcceptLanguages,
{ errorFirst: false }
)()
- const firstPreferredLangCode = userPreferredLocaleCodes.find(code => existingLocaleCodes.includes(code))
+ const firstPreferredLangCode = userPreferredLocaleCodes
+ .map(code => code.toLowerCase())
+ .find(code => existingLocaleCodes.includes(code))
return firstPreferredLangCode || 'en'
}