diff options
author | enahum <nahumhbl@gmail.com> | 2016-06-02 16:47:26 -0300 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2016-06-02 12:47:26 -0700 |
commit | 159953050a9c4fb700bbde79042ead4843b0bea5 (patch) | |
tree | 747a022c5cf579599402447b5e5d0f51dfee9f76 /webapp/i18n | |
parent | e44b8ec6d57fc55230a5c97ea105b7fd9ef59aca (diff) | |
download | chat-159953050a9c4fb700bbde79042ead4843b0bea5.tar.gz chat-159953050a9c4fb700bbde79042ead4843b0bea5.tar.bz2 chat-159953050a9c4fb700bbde79042ead4843b0bea5.zip |
PLT-1800 Load server side locale from the config.json (#3202)
* 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
* Remove github.com/cloudfoundry/jibber_jabber as vendor dependency
* Fix get locale on login_controller
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 7a5821e37..7a5821e37 100644 --- a/webapp/i18n/pt.json +++ b/webapp/i18n/pt-BR.json |