diff options
author | Erik Michelson | 2021-04-26 00:18:08 +0200 |
---|---|---|
committer | David Mehren | 2021-04-26 21:45:31 +0200 |
commit | 0d943d128431f166045de53bd64575dac142d320 (patch) | |
tree | d82aa115813cf3d5be8725533219019953a696fd /public/js | |
parent | cf87499e38cfdc29e95e0c871bd80971dfe8f98b (diff) |
Extract list of supported languages in separate file
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
Diffstat (limited to '')
-rw-r--r-- | public/js/locale.js | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/public/js/locale.js b/public/js/locale.js index 2470bd53..ccc1d0e4 100644 --- a/public/js/locale.js +++ b/public/js/locale.js @@ -1,8 +1,6 @@ /* eslint-env browser, jquery */ /* global Cookies */ - -const supported = ['en', 'zh-CN', 'zh-TW', 'fr', 'de', 'ja', 'es', 'ca', 'el', 'pt', 'it', 'tr', 'ru', 'nl', 'hr', 'pl', - 'uk', 'hi', 'sv', 'eo', 'da', 'ko', 'id', 'sr', 'vi', 'ar', 'cs', 'sk', 'ml', 'bg', 'fa', 'gl', 'he', 'hu', 'oc', 'pt-br'] +const supportedLanguages = require('../../locales/_supported.json') function detectLang () { if (Cookies.get('locale')) { @@ -14,9 +12,10 @@ function detectLang () { } const userLang = navigator.language || navigator.userLanguage const userLangCode = userLang.split('-')[0] - if (supported.includes(userLangCode)) { + const supportedLanguagesList = Object.keys(supportedLanguages) + if (supportedLanguagesList.includes(userLangCode)) { return userLangCode - } else if (supported.includes(userLang)) { + } else if (supportedLanguagesList.includes(userLang)) { return userLang } return 'en' @@ -24,6 +23,9 @@ function detectLang () { const lang = detectLang() const localeSelector = $('.ui-locale') +Object.entries(supportedLanguages).forEach(function ([isoCode, nativeName]) { + localeSelector.append(`<option value="${isoCode}">${nativeName}</option>`) +}) // the following condition is needed as the selector is only available in the intro/history page if (localeSelector.length > 0) { |