From 3714baf5d6a9c2793ecf4717d56f532144457f74 Mon Sep 17 00:00:00 2001 From: sephrat <34862846+sephrat@users.noreply.github.com> Date: Sat, 19 Jun 2021 17:14:12 +0200 Subject: [PATCH] Fix en-US language not being loaded (#574) VueI18n defaults to en-US when no language is specified, which prevented en-US messages from being loaded --- frontend/src/i18n.js | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/frontend/src/i18n.js b/frontend/src/i18n.js index 360343d800ec..7433c36a8b24 100644 --- a/frontend/src/i18n.js +++ b/frontend/src/i18n.js @@ -20,25 +20,19 @@ function setI18nLanguage (lang) { } export function loadLanguageAsync(lang) { - // If the same language - if (i18n.locale === lang) { - return Promise.resolve(setI18nLanguage(lang)) - } - // If the language was already loaded - if (loadedLanguages.includes(lang)) { - return Promise.resolve(setI18nLanguage(lang)) + if ( ! loadedLanguages.includes(lang)) { + const messages = import(`./locales/messages/${lang}.json`); + const dateTimeFormats = import(`./locales/dateTimeFormats/${lang}.json`); + + return Promise.all([messages, dateTimeFormats]).then( + values => { + i18n.setLocaleMessage(lang, values[0].default) + i18n.setDateTimeFormat(lang, values[1].default) + loadedLanguages.push(lang) + return setI18nLanguage(lang) + } + ) } - - const messages = import(`./locales/messages/${lang}.json`); - const dateTimeFormats = import(`./locales/dateTimeFormats/${lang}.json`); - - return Promise.all([messages, dateTimeFormats]).then( - values => { - i18n.setLocaleMessage(lang, values[0].default) - i18n.setDateTimeFormat(lang, values[1].default) - loadedLanguages.push(lang) - return setI18nLanguage(lang) - } - ) + return Promise.resolve(setI18nLanguage(lang)) } \ No newline at end of file