UNPKG

@selfcommunity/react-core

Version:

React Core Components useful for integrating UI Community components (react-ui).

38 lines (37 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadLocaleData = void 0; const tslib_1 = require("tslib"); const Locale_1 = require("../constants/Locale"); const react_i18n_1 = tslib_1.__importDefault(require("@selfcommunity/react-i18n")); const react_intl_1 = require("react-intl"); const utils_1 = require("@selfcommunity/utils"); const Errors_1 = require("../constants/Errors"); /** * Load Locale Data */ function loadLocaleData(locale, settings) { let _locale = locale; let locales = settings.locale && settings.locale.messages ? settings.locale.messages : react_i18n_1.default; if (!locales[_locale]) { _locale = Locale_1.DEFAULT_LANGUAGE_UI; if (settings.messages) { utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, `Locale ${_locale} not found in messages configuration. Fallback to 'en'.`); } else { utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, `Locale ${_locale} not found in sc-i18n package. Fallback to 'en'.`); } } try { return { messages: locales[_locale], locale: _locale }; } catch (e) { if (settings.messages) { locales = react_i18n_1.default; utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, `Configuration Locale.messages doesn't contains ${_locale}. Fallback to 'en' of 'sc-i18n'`); } return { messages: locales[Locale_1.LOCALE_EN], locale: Locale_1.DEFAULT_LANGUAGE_UI }; } } exports.loadLocaleData = loadLocaleData; exports.default = react_intl_1.createIntl;