changeset 1526:4f62e2610740

Translation: improve language detection code and correct language name * Improve the language detection code to use major variant if not not precise match * correct the typing fehler for one language name
author Fadi Abbud <fadi.abbud@intevation.de>
date Fri, 07 Dec 2018 11:20:44 +0100
parents a0a16577261a
children 3cc3b7390805
files client/src/main.js
diffstat 1 files changed, 9 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/main.js	Fri Dec 07 10:08:31 2018 +0100
+++ b/client/src/main.js	Fri Dec 07 11:20:44 2018 +0100
@@ -135,50 +135,25 @@
 
 let browserLanguage = locale2;
 
-// planned also SK, HU, HR, RS, BiH, BG, RO, UA
+// planned also RS, BiH, UA
 const supportedLanguages = {
   en_GB: "British English",
   de_AT: "Deutsch",
   sk_SK: "slovenčina",
-  hu_HU: "Magyat",
+  hu_HU: "Magyar",
   hr_HR: "Hrvatska",
   bg_BG: "български",
   ro_RO: "Română"
 };
 
-if (
-  browserLanguage === "de-DE" ||
-  browserLanguage === "de-LI" ||
-  browserLanguage === "de-LU" ||
-  browserLanguage === "de-CH" ||
-  browserLanguage === "de"
-) {
-  browserLanguage = "de-AT"; // map german,liechtenstein,luxenburg and switzerland to austrian variant for now
-}
-
-if (browserLanguage === "sk") {
-  browserLanguage = "sk_SK";
-}
+const isAvailableLanguage = Object.keys(supportedLanguages).filter(language => {
+  return browserLanguage === language
+    ? language
+    : browserLanguage.substr(0, 2) === language.substr(0, 2);
+});
 
-if (browserLanguage === "hu") {
-  browserLanguage = "hu_HU";
-}
-
-if (browserLanguage === "hr") {
-  browserLanguage = "hr_HR";
-}
-
-if (browserLanguage === "bg") {
-  browserLanguage = "bg_BG";
-}
-
-if (browserLanguage === "ro") {
-  browserLanguage = "ro_RO";
-}
-
-const language = browserLanguage.replace("-", "_");
-const isLanguageAvailable = supportedLanguages[language];
-let defaultLanguage = isLanguageAvailable ? language : "en_GB";
+let defaultLanguage =
+  isAvailableLanguage.length > 0 ? isAvailableLanguage[0] : "en_GB";
 
 Vue.use(GetTextPlugin, {
   translations: translations,