diff options
author | enahum <nahumhbl@gmail.com> | 2016-05-24 09:36:27 -0300 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2016-05-24 08:36:27 -0400 |
commit | 34beaa569bfb32f1607375f1d5a22859322060d2 (patch) | |
tree | c5d264e383890c88263db071a555201e4bc8e159 /webapp/i18n | |
parent | 79c0b206895ce6c5ffa498cdc80edbd821ff5469 (diff) | |
download | chat-34beaa569bfb32f1607375f1d5a22859322060d2.tar.gz chat-34beaa569bfb32f1607375f1d5a22859322060d2.tar.bz2 chat-34beaa569bfb32f1607375f1d5a22859322060d2.zip |
PLT-1800 Load server side locale from the config.json (#3076)
* PLT-1800 Load server side locale from the config.json
* Add support for locales with country specifics
Diffstat (limited to 'webapp/i18n')
-rw-r--r-- | webapp/i18n/i18n.jsx | 40 | ||||
-rw-r--r-- | webapp/i18n/pt-BR.json (renamed from webapp/i18n/pt.json) | 0 |
2 files changed, 34 insertions, 6 deletions
diff --git a/webapp/i18n/i18n.jsx b/webapp/i18n/i18n.jsx index 2214fd386..783cef975 100644 --- a/webapp/i18n/i18n.jsx +++ b/webapp/i18n/i18n.jsx @@ -4,7 +4,7 @@ const es = require('!!file?name=i18n/[name].[ext]!./es.json'); const fr = require('!!file?name=i18n/[name].[ext]!./fr.json'); const ja = require('!!file?name=i18n/[name].[ext]!./ja.json'); -const pt = require('!!file?name=i18n/[name].[ext]!./pt.json'); +const pt_BR = require('!!file?name=i18n/[name].[ext]!./pt-BR.json'); //eslint-disable-line camelcase import {addLocaleData} from 'react-intl'; import enLocaleData from 'react-intl/locale-data/en'; @@ -34,19 +34,47 @@ const languages = { name: '日本語 (Beta)', url: ja }, - pt: { - value: 'pt', + 'pt-BR': { + value: 'pt-BR', name: 'Portugues (Beta)', - url: pt + url: pt_BR } }; -export function getLanguages() { +let availableLanguages = null; + +function setAvailableLanguages() { + const available = global.window.mm_config.AvailableLocales.split(','); + + availableLanguages = {}; + + available.forEach((l) => { + if (languages[l]) { + availableLanguages[l] = languages[l]; + } + }); +} + +export function getAllLanguages() { return languages; } +export function getLanguages() { + if (!availableLanguages) { + setAvailableLanguages(); + } + return availableLanguages; +} + export function getLanguageInfo(locale) { - return languages[locale]; + if (!availableLanguages) { + setAvailableLanguages(); + } + return availableLanguages[locale]; +} + +export function isLanguageAvailable(locale) { + return !!availableLanguages[locale]; } export function safariFix(callback) { diff --git a/webapp/i18n/pt.json b/webapp/i18n/pt-BR.json index a18de4139..a18de4139 100644 --- a/webapp/i18n/pt.json +++ b/webapp/i18n/pt-BR.json |