diff options
Diffstat (limited to 'webapp/action_creators/global_actions.jsx')
-rw-r--r-- | webapp/action_creators/global_actions.jsx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/webapp/action_creators/global_actions.jsx b/webapp/action_creators/global_actions.jsx index 6bb0c1732..f437e8a03 100644 --- a/webapp/action_creators/global_actions.jsx +++ b/webapp/action_creators/global_actions.jsx @@ -392,11 +392,15 @@ export function newLocalizationSelected(locale) { } else { Client.getTranslations( I18n.getLanguageInfo(locale).url, - (data) => { + (data, res) => { + let translations = data; + if (!data && res.text) { + translations = JSON.parse(res.text); + } AppDispatcher.handleServerAction({ type: ActionTypes.RECEIVED_LOCALE, locale, - translations: data + translations }); }, (err) => { @@ -409,6 +413,12 @@ export function newLocalizationSelected(locale) { export function loadBrowserLocale() { let locale = (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : (navigator.language || navigator.userLanguage)).split('-')[0]; + + const user = UserStore.getCurrentUser(); + if (user) { + locale = user.locale || locale; + } + if (!I18n.getLanguages()[locale]) { locale = 'en'; } |