diff options
Diffstat (limited to 'webapp/i18n/i18n.jsx')
-rw-r--r-- | webapp/i18n/i18n.jsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/webapp/i18n/i18n.jsx b/webapp/i18n/i18n.jsx index fde1fbb64..f153b54f3 100644 --- a/webapp/i18n/i18n.jsx +++ b/webapp/i18n/i18n.jsx @@ -2,8 +2,15 @@ // See License.txt for license information. const es = require('!!file?name=i18n/[name].[ext]!./es.json'); +const fr = require('!!file?name=i18n/[name].[ext]!./fr.json'); const pt = require('!!file?name=i18n/[name].[ext]!./pt.json'); +import {addLocaleData} from 'react-intl'; +import enLocaleData from 'react-intl/locale-data/en'; +import esLocaleData from 'react-intl/locale-data/es'; +import frLocaleData from 'react-intl/locale-data/fr'; +import ptLocaleData from 'react-intl/locale-data/pt'; + const languages = { en: { value: 'en', @@ -15,6 +22,11 @@ const languages = { name: 'Español (Beta)', url: es }, + fr: { + value: 'fr', + name: 'Français (Beta)', + url: fr + }, pt: { value: 'pt', name: 'Portugues (Beta)', @@ -29,3 +41,27 @@ export function getLanguages() { export function getLanguageInfo(locale) { return languages[locale]; } + +export function safariFix(callback) { + require.ensure([ + 'intl', + 'intl/locale-data/jsonp/en.js', + 'intl/locale-data/jsonp/es.js', + 'intl/locale-data/jsonp/fr.js', + 'intl/locale-data/jsonp/pt.js' + ], (require) => { + require('intl'); + require('intl/locale-data/jsonp/en.js'); + require('intl/locale-data/jsonp/es.js'); + require('intl/locale-data/jsonp/fr.js'); + require('intl/locale-data/jsonp/pt.js'); + callback(); + }); +} + +export function doAddLocaleData() { + addLocaleData(enLocaleData); + addLocaleData(esLocaleData); + addLocaleData(frLocaleData); + addLocaleData(ptLocaleData); +} |