From 2e418c17232a6ad11ec8d7739955b4209acb0c23 Mon Sep 17 00:00:00 2001 From: yflory Date: Fri, 10 Mar 2017 17:03:30 +0100 Subject: [PATCH] When the browser returns a regional language, check if the language code is available --- customize.dist/messages.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/customize.dist/messages.js b/customize.dist/messages.js index a2249adcc..ba35f1d96 100644 --- a/customize.dist/messages.js +++ b/customize.dist/messages.js @@ -1,11 +1,6 @@ (function () { var LS_LANG = "CRYPTPAD_LANG"; -var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); }; -var getBrowserLanguage = function () { return navigator.language || navigator.userLanguage; }; -var getLanguage = function () { return getStoredLanguage() || getBrowserLanguage(); }; -var language = getLanguage(); - // add your module to this map so it gets used var map = { 'fr': 'Français', @@ -15,6 +10,19 @@ var map = { 'pt-br': 'Português do Brasil' }; +var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); }; +var getBrowserLanguage = function () { return navigator.language || navigator.userLanguage; }; +var getLanguage = function () { + if (getStoredLanguage()) { return getStoredLanguage(); } + var l = getBrowserLanguage() || ''; + if (Object.keys(map).indexOf(l) !== -1) { + return l; + } + // Edge returns 'fr-FR' --> transform it to 'fr' and check again + return Object.keys(map).indexOf(l.split('-')[0]) !== -1 ? l.split('-')[0] : 'en'; +}; +var language = getLanguage(); + var req = ['/customize/translations/messages.js']; if (language && map[language]) { req.push('/customize/translations/messages.' + language + '.js'); } req.push('/bower_components/jquery/dist/jquery.min.js');