diff options
| author | Dayana31 <[email protected]> | 2022-04-21 17:27:08 -0500 |
|---|---|---|
| committer | Dayana31 <[email protected]> | 2022-04-21 17:27:08 -0500 |
| commit | 67c50667678dd0ce4709b29a854f6a47093a1ac5 (patch) | |
| tree | b6f9f39092ad54bf6b815984d32b37d7c7ca67ab /front/odiparpack/app/i18n.js | |
| parent | 91140b24f0d49a9f89a080ee063e9eb023a4b73a (diff) | |
| parent | e13e630cd6e4fc0b1ff92098a28a770794c7bb9a (diff) | |
| download | DP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.tar.gz DP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.tar.bz2 DP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.zip | |
Merge branch 'gabshr' into dayana
Diffstat (limited to 'front/odiparpack/app/i18n.js')
| -rw-r--r-- | front/odiparpack/app/i18n.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/front/odiparpack/app/i18n.js b/front/odiparpack/app/i18n.js new file mode 100644 index 0000000..cac434f --- /dev/null +++ b/front/odiparpack/app/i18n.js @@ -0,0 +1,46 @@ +/** + * i18n.js + * + * This will setup the i18n language files and locale data for your app. + * + * IMPORTANT: This file is used by the internal build + * script `extract-intl`, and must use CommonJS module syntax + * You CANNOT use import/export in this file. + */ +const addLocaleData = require('react-intl').addLocaleData; //eslint-disable-line +const enLocaleData = require('react-intl/locale-data/en'); + +const enTranslationMessages = require('./translations/en.json'); + +addLocaleData(enLocaleData); + +const DEFAULT_LOCALE = 'en'; + +// prettier-ignore +const appLocales = [ + 'en', +]; + +const formatTranslationMessages = (locale, messages) => { + const defaultFormattedMessages = + locale !== DEFAULT_LOCALE + ? formatTranslationMessages(DEFAULT_LOCALE, enTranslationMessages) + : {}; + const flattenFormattedMessages = (formattedMessages, key) => { + const formattedMessage = + !messages[key] && locale !== DEFAULT_LOCALE + ? defaultFormattedMessages[key] + : messages[key]; + return Object.assign(formattedMessages, { [key]: formattedMessage }); + }; + return Object.keys(messages).reduce(flattenFormattedMessages, {}); +}; + +const translationMessages = { + en: formatTranslationMessages('en', enTranslationMessages), +}; + +exports.appLocales = appLocales; +exports.formatTranslationMessages = formatTranslationMessages; +exports.translationMessages = translationMessages; +exports.DEFAULT_LOCALE = DEFAULT_LOCALE; |
