summaryrefslogtreecommitdiffstats
path: root/webapp/actions
diff options
context:
space:
mode:
authorenahum <nahumhbl@gmail.com>2016-05-27 09:25:37 -0300
committerJoram Wilander <jwawilander@gmail.com>2016-05-27 08:25:37 -0400
commita2c183f401bdf8e9abddd35d4561d42034325046 (patch)
tree66565a9e21ad6b47b4dca18113ad9be48bd98492 /webapp/actions
parent15e427e806716b372f7fbef12d922f847ccc71b5 (diff)
downloadchat-a2c183f401bdf8e9abddd35d4561d42034325046.tar.gz
chat-a2c183f401bdf8e9abddd35d4561d42034325046.tar.bz2
chat-a2c183f401bdf8e9abddd35d4561d42034325046.zip
PLT-1800 Load server side locale from the config.json (#3092)
* PLT-1800 Load server side locale from the config.json * Add support for locales with country specifics * Fix localization on served locale file as plain/text
Diffstat (limited to 'webapp/actions')
-rw-r--r--webapp/actions/global_actions.jsx18
1 files changed, 12 insertions, 6 deletions
diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx
index 2e2b1b247..93ed7517b 100644
--- a/webapp/actions/global_actions.jsx
+++ b/webapp/actions/global_actions.jsx
@@ -392,9 +392,14 @@ export function newLocalizationSelected(locale) {
translations: en
});
} else {
+ const localeInfo = I18n.getLanguageInfo(locale) || I18n.getLanguageInfo(global.window.mm_config.DefaultClientLocale);
+
Client.getTranslations(
- I18n.getLanguageInfo(locale).url,
- (data) => {
+ localeInfo.url,
+ (data, res) => {
+ if (!data && res.text) {
+ data = JSON.parse(res.text); //eslint-disable-line no-param-reassign
+ }
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_LOCALE,
locale,
@@ -408,10 +413,11 @@ export function newLocalizationSelected(locale) {
}
}
-export function loadBrowserLocale() {
- let locale = (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] :
- (navigator.language || navigator.userLanguage)).split('-')[0];
- if (!I18n.getLanguages()[locale]) {
+export function loadDefaultLocale() {
+ const defaultLocale = global.window.mm_config.DefaultClientLocale;
+ let locale = global.window.mm_user ? global.window.mm_user.locale || defaultLocale : defaultLocale;
+
+ if (!I18n.getLanguageInfo(locale)) {
locale = 'en';
}
return newLocalizationSelected(locale);