From 2ee8efe40dc3e3603ef1170077d6dbead3cdab46 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Wed, 10 Feb 2021 17:49:37 +0800 Subject: [PATCH] fix cannot detect the correct language in some os and browser --- src/scripts/services/ariaNgSettingService.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/scripts/services/ariaNgSettingService.js b/src/scripts/services/ariaNgSettingService.js index f747c87..d8fb909 100644 --- a/src/scripts/services/ariaNgSettingService.js +++ b/src/scripts/services/ariaNgSettingService.js @@ -60,6 +60,10 @@ continue; } + if (langName.toLowerCase() === alias.toLowerCase()) { + return langName; + } + var language = ariaNgLanguages[langName]; var aliases = language.aliases; @@ -68,7 +72,7 @@ } for (var i = 0; i < aliases.length; i++) { - if (aliases[i] === alias) { + if (aliases[i].toLowerCase() === alias.toLowerCase()) { return langName; } } @@ -94,6 +98,19 @@ } } + if (!ariaNgLanguages[browserLang] && browserLang.split('-').length > 1) { // maybe language-script-region + const langParts = browserLang.split('-'); + browserLang = langParts[0] + '-' + langParts[1]; + + if (!ariaNgLanguages[browserLang]) { + const languageName = getLanguageNameFromAlias(browserLang); + + if (languageName) { + browserLang = languageName; + } + } + } + if (!ariaNgLanguages[browserLang]) { return ariaNgDefaultOptions.language; }