From f16a1cdf445ec21881efd820fa53b5882b29cba3 Mon Sep 17 00:00:00 2001 From: hristoterezov Date: Tue, 24 Feb 2015 12:49:46 +0200 Subject: [PATCH] Changes the implementation to store the language in local storage. Adds new languages. --- index.html | 2 +- lang/languages.json | 3 +- libs/app.bundle.js | 51 +++++++++++++++++-- .../UI/side_pannels/settings/SettingsMenu.js | 4 +- modules/settings/Settings.js | 9 +++- modules/translation/translation.js | 32 +++++++++++- service/translation/languages.js | 4 +- 7 files changed, 94 insertions(+), 11 deletions(-) diff --git a/index.html b/index.html index bb10fe4ae..76f7bc5d4 100644 --- a/index.html +++ b/index.html @@ -19,7 +19,7 @@ - + diff --git a/lang/languages.json b/lang/languages.json index a17702a74..ffafffe6a 100644 --- a/lang/languages.json +++ b/lang/languages.json @@ -1,4 +1,5 @@ { "en": "English", - "bg": "Bulgarian" + "bg": "Bulgarian", + "de": "German" } \ No newline at end of file diff --git a/libs/app.bundle.js b/libs/app.bundle.js index b5d8b8de9..8cd9d84a9 100644 --- a/libs/app.bundle.js +++ b/libs/app.bundle.js @@ -4530,7 +4530,9 @@ var SettingsMenu = { APP.xmpp.addToPresence("displayName", displayName, true); } - APP.translation.setLanguage($("#languages_selectbox").val()); + var language = $("#languages_selectbox").val(); + APP.translation.setLanguage(language); + Settings.setLanguage(language); APP.xmpp.addToPresence("email", newEmail); var email = Settings.setEmail(newEmail); @@ -9298,6 +9300,7 @@ module.exports = KeyboardShortcut; var email = ''; var displayName = ''; var userId; +var language = null; function supportsLocalStorage() { @@ -9325,6 +9328,7 @@ if (supportsLocalStorage()) { userId = window.localStorage.jitsiMeetId || ''; email = window.localStorage.email || ''; displayName = window.localStorage.displayname || ''; + language = window.localStorage.language; } else { console.log("local storage is not supported"); userId = generateUniqueId(); @@ -9347,8 +9351,13 @@ var Settings = return { email: email, displayName: displayName, - uid: userId + uid: userId, + language: language }; + }, + setLanguage: function (lang) { + language = lang; + window.localStorage.language = lang; } }; @@ -11594,6 +11603,7 @@ module.exports = statistics; },{"../../service/RTC/StreamEventTypes.js":82,"../../service/xmpp/XMPPEvents":88,"./LocalStatsCollector.js":43,"./RTPStatsCollector.js":44,"events":89}],46:[function(require,module,exports){ var i18n = require("i18next-client"); var languages = require("../../service/translation/languages"); +var Settings = require("../settings/Settings"); var DEFAULT_LANG = languages.EN; var initialized = false; var waitingForInit = []; @@ -11617,6 +11627,7 @@ var defaultOptions = { }, lngWhitelist : languages.getLanguages(), fallbackOnNull: true, + fallbackOnEmpty: true, useDataAttrOptions: true, app: interfaceConfig.APP_NAME, getAsync: true, @@ -11669,12 +11680,40 @@ function initCompleted(t) waitingForInit = []; } +function checkForParameter() { + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i