From ff22f25937d646369691cb9816dd3ca9faca1a17 Mon Sep 17 00:00:00 2001 From: Linux User Date: Sat, 13 Feb 2021 10:16:30 +0100 Subject: [PATCH] Read preferences also from browser and VC settings --- bilingual.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bilingual.js b/bilingual.js index 5bf8146..0b9b1dd 100644 --- a/bilingual.js +++ b/bilingual.js @@ -167,12 +167,22 @@ function getClassNameForLanguage(language) { /** * Read the user's language preference—if any—from LocalStorage and update elements accordingly. + * In case there is no LocalStorage entry, but the user selected English as its default VC or browser + * language, the `currentLanguage` is set to English. */ function readUserPreferences() { - if (localStorage.getItem(STORAGE_LANGUAGE_PREFERENCE_KEY) != null) { + const localStorageEntry = localStorage.getItem(STORAGE_LANGUAGE_PREFERENCE_KEY); + const documentLanguage = document.querySelector('html').getAttribute('lang'); + + if (localStorageEntry != null) { currentLanguage = localStorage.getItem(STORAGE_LANGUAGE_PREFERENCE_KEY); updateMultiLanguageElements(); document.body.classList.add(`wiai-language-${currentLanguage}`); + } else if (documentLanguage === 'en' || documentLanguage === 'en_us' + || navigator.language === 'en' || navigator.language.includes('en-')) { + currentLanguage = 'english'; + updateMultiLanguageElements(); + document.body.classList.add(`wiai-language-${currentLanguage}`); } }