diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index 92deda30..8811cb7d 100644 Binary files a/agents/MeshCmd-signed.exe and b/agents/MeshCmd-signed.exe differ diff --git a/agents/MeshCmd64-signed.exe b/agents/MeshCmd64-signed.exe index 2a542220..139f2ed9 100644 Binary files a/agents/MeshCmd64-signed.exe and b/agents/MeshCmd64-signed.exe differ diff --git a/agents/MeshService-signed.exe b/agents/MeshService-signed.exe index 6f9d9af0..7de2420b 100644 Binary files a/agents/MeshService-signed.exe and b/agents/MeshService-signed.exe differ diff --git a/agents/MeshService.exe b/agents/MeshService.exe index 37f86827..fe98bebd 100644 Binary files a/agents/MeshService.exe and b/agents/MeshService.exe differ diff --git a/agents/MeshService64-signed.exe b/agents/MeshService64-signed.exe index 8329690c..8ab1926c 100644 Binary files a/agents/MeshService64-signed.exe and b/agents/MeshService64-signed.exe differ diff --git a/agents/MeshService64.exe b/agents/MeshService64.exe index c9b4bc19..7f7c2fb6 100644 Binary files a/agents/MeshService64.exe and b/agents/MeshService64.exe differ diff --git a/agents/agents-old/MeshCmd-signed.exe b/agents/agents-old/MeshCmd-signed.exe new file mode 100644 index 00000000..92deda30 Binary files /dev/null and b/agents/agents-old/MeshCmd-signed.exe differ diff --git a/agents/agents-old/MeshCmd64-signed.exe b/agents/agents-old/MeshCmd64-signed.exe new file mode 100644 index 00000000..2a542220 Binary files /dev/null and b/agents/agents-old/MeshCmd64-signed.exe differ diff --git a/agents/agents-old/MeshService-signed.exe b/agents/agents-old/MeshService-signed.exe new file mode 100644 index 00000000..6f9d9af0 Binary files /dev/null and b/agents/agents-old/MeshService-signed.exe differ diff --git a/agents/agents-old/MeshService.exe b/agents/agents-old/MeshService.exe new file mode 100644 index 00000000..37f86827 Binary files /dev/null and b/agents/agents-old/MeshService.exe differ diff --git a/agents/agents-old/MeshService64-signed.exe b/agents/agents-old/MeshService64-signed.exe new file mode 100644 index 00000000..8329690c Binary files /dev/null and b/agents/agents-old/MeshService64-signed.exe differ diff --git a/agents/agents-old/MeshService64.exe b/agents/agents-old/MeshService64.exe new file mode 100644 index 00000000..c9b4bc19 Binary files /dev/null and b/agents/agents-old/MeshService64.exe differ diff --git a/agents/meshagent_aarch64 b/agents/agents-old/meshagent_aarch64 similarity index 100% rename from agents/meshagent_aarch64 rename to agents/agents-old/meshagent_aarch64 diff --git a/agents/meshagent_aarch64-cortex-a53 b/agents/agents-old/meshagent_aarch64-cortex-a53 similarity index 100% rename from agents/meshagent_aarch64-cortex-a53 rename to agents/agents-old/meshagent_aarch64-cortex-a53 diff --git a/agents/meshagent_arm b/agents/agents-old/meshagent_arm similarity index 100% rename from agents/meshagent_arm rename to agents/agents-old/meshagent_arm diff --git a/agents/meshagent_arm-linaro b/agents/agents-old/meshagent_arm-linaro similarity index 100% rename from agents/meshagent_arm-linaro rename to agents/agents-old/meshagent_arm-linaro diff --git a/agents/meshagent_armhf b/agents/agents-old/meshagent_armhf similarity index 100% rename from agents/meshagent_armhf rename to agents/agents-old/meshagent_armhf diff --git a/agents/meshagent_armhf2 b/agents/agents-old/meshagent_armhf2 similarity index 100% rename from agents/meshagent_armhf2 rename to agents/agents-old/meshagent_armhf2 diff --git a/agents/meshagent_freebsd_x86-64 b/agents/agents-old/meshagent_freebsd_x86-64 similarity index 100% rename from agents/meshagent_freebsd_x86-64 rename to agents/agents-old/meshagent_freebsd_x86-64 diff --git a/agents/meshagent_linux-armada370-hf b/agents/agents-old/meshagent_linux-armada370-hf similarity index 100% rename from agents/meshagent_linux-armada370-hf rename to agents/agents-old/meshagent_linux-armada370-hf diff --git a/agents/meshagent_mips b/agents/agents-old/meshagent_mips similarity index 100% rename from agents/meshagent_mips rename to agents/agents-old/meshagent_mips diff --git a/agents/meshagent_mips24kc b/agents/agents-old/meshagent_mips24kc similarity index 100% rename from agents/meshagent_mips24kc rename to agents/agents-old/meshagent_mips24kc diff --git a/agents/meshagent_mipsel24kc b/agents/agents-old/meshagent_mipsel24kc similarity index 100% rename from agents/meshagent_mipsel24kc rename to agents/agents-old/meshagent_mipsel24kc diff --git a/agents/meshagent_openbsd_x86-64 b/agents/agents-old/meshagent_openbsd_x86-64 similarity index 100% rename from agents/meshagent_openbsd_x86-64 rename to agents/agents-old/meshagent_openbsd_x86-64 diff --git a/agents/meshagent_openwrt_x86_64 b/agents/agents-old/meshagent_openwrt_x86_64 similarity index 100% rename from agents/meshagent_openwrt_x86_64 rename to agents/agents-old/meshagent_openwrt_x86_64 diff --git a/agents/meshagent_osx-arm-64 b/agents/agents-old/meshagent_osx-arm-64 similarity index 100% rename from agents/meshagent_osx-arm-64 rename to agents/agents-old/meshagent_osx-arm-64 diff --git a/agents/meshagent_osx-universal-64 b/agents/agents-old/meshagent_osx-universal-64 similarity index 100% rename from agents/meshagent_osx-universal-64 rename to agents/agents-old/meshagent_osx-universal-64 diff --git a/agents/meshagent_osx-x86-64 b/agents/agents-old/meshagent_osx-x86-64 similarity index 100% rename from agents/meshagent_osx-x86-64 rename to agents/agents-old/meshagent_osx-x86-64 diff --git a/agents/meshagent_pogo b/agents/agents-old/meshagent_pogo similarity index 100% rename from agents/meshagent_pogo rename to agents/agents-old/meshagent_pogo diff --git a/agents/meshagent_poky b/agents/agents-old/meshagent_poky similarity index 100% rename from agents/meshagent_poky rename to agents/agents-old/meshagent_poky diff --git a/agents/meshagent_poky64 b/agents/agents-old/meshagent_poky64 similarity index 100% rename from agents/meshagent_poky64 rename to agents/agents-old/meshagent_poky64 diff --git a/agents/meshagent_x86 b/agents/agents-old/meshagent_x86 similarity index 100% rename from agents/meshagent_x86 rename to agents/agents-old/meshagent_x86 diff --git a/agents/meshagent_x86-64 b/agents/agents-old/meshagent_x86-64 similarity index 100% rename from agents/meshagent_x86-64 rename to agents/agents-old/meshagent_x86-64 diff --git a/agents/meshagent_x86-64_nokvm b/agents/agents-old/meshagent_x86-64_nokvm similarity index 100% rename from agents/meshagent_x86-64_nokvm rename to agents/agents-old/meshagent_x86-64_nokvm diff --git a/agents/meshagent_x86_nokvm b/agents/agents-old/meshagent_x86_nokvm similarity index 100% rename from agents/meshagent_x86_nokvm rename to agents/agents-old/meshagent_x86_nokvm diff --git a/webserver.js b/webserver.js index 483f008b..fde45b0e 100644 --- a/webserver.js +++ b/webserver.js @@ -7724,12 +7724,24 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF if (user && user.llang) { delete user.llang; obj.db.SetUser(user); } // Clear user 'last language' used if needed. Since English is the default, remove "last language". break; } - if (fileOptions[acceptLanguages[i]] != null) { + + // See if a language (like "fr-ca") or short-language (like "fr") matches an available translation file. + var foundLanguage = null; + if (fileOptions[acceptLanguages[i]] != null) { foundLanguage = acceptLanguages[i]; } else { + const ptr = acceptLanguages[i].indexOf('-'); + if (ptr >= 0) { + const shortAcceptedLanguage = acceptLanguages[i].substring(0, ptr); + if (fileOptions[shortAcceptedLanguage] != null) { foundLanguage = shortAcceptedLanguage; } + } + } + + // If a language is found, render it. + if (foundLanguage != null) { // Found a match. If the file no longer exists, default to English. - obj.fs.exists(fileOptions[acceptLanguages[i]] + '.handlebars', function (exists) { - if (exists) { args.lang = acceptLanguages[i]; res.render(fileOptions[acceptLanguages[i]], args); } else { args.lang = 'en'; res.render(filename, args); } + obj.fs.exists(fileOptions[foundLanguage] + '.handlebars', function (exists) { + if (exists) { args.lang = foundLanguage; res.render(fileOptions[foundLanguage], args); } else { args.lang = 'en'; res.render(filename, args); } }); - if (user && (user.llang != acceptLanguages[i])) { user.llang = acceptLanguages[i]; obj.db.SetUser(user); } // Set user 'last language' used if needed. + if (user && (user.llang != foundLanguage)) { user.llang = foundLanguage; obj.db.SetUser(user); } // Set user 'last language' used if needed. return; } }