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
Этот коммит содержится в:
enahum
2016-05-27 09:25:37 -03:00
коммит произвёл Joram Wilander
родитель 15e427e806
Коммит a2c183f401
24 изменённых файлов: 396 добавлений и 66 удалений

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

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