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
Этот коммит содержится в:
enahum
2016-05-24 09:36:27 -03:00
коммит произвёл Joram Wilander
родитель 79c0b20689
Коммит 34beaa569b
24 изменённых файлов: 377 добавлений и 51 удалений

Просмотреть файл

@@ -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) {

Просмотреть файл