@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
48 lines • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// (C) 2007-2019 GoodData Corporation
var react_intl_1 = require("react-intl");
var js_utils_1 = require("@gooddata/js-utils");
var isEmpty = require("lodash/isEmpty");
var localization_1 = require("../constants/localization");
var enUS = require("../translations/en-US.json");
var deDE = require("../translations/de-DE.json");
var esES = require("../translations/es-ES.json");
var frFR = require("../translations/fr-FR.json");
var jaJP = require("../translations/ja-JP.json");
var nlNL = require("../translations/nl-NL.json");
var ptBR = require("../translations/pt-BR.json");
var ptPT = require("../translations/pt-PT.json");
var zhHans = require("../translations/zh-Hans.json");
var messagesMap = {
"en-US": js_utils_1.translations.removeMetadata(enUS),
"de-DE": deDE,
"es-ES": esES,
"fr-FR": frFR,
"ja-JP": jaJP,
"nl-NL": nlNL,
"pt-BR": ptBR,
"pt-PT": ptPT,
"zh-Hans": zhHans,
};
var intlStore = {};
var cache = react_intl_1.createIntlCache();
function getIntl(locale) {
if (locale === void 0) { locale = localization_1.DEFAULT_LOCALE; }
var usedLocale = locale;
if (isEmpty(locale)) {
usedLocale = localization_1.DEFAULT_LOCALE;
}
return (intlStore[usedLocale] ||
(intlStore[usedLocale] = react_intl_1.createIntl({ locale: locale, messages: messagesMap[locale] }, cache)));
}
function getTranslation(translationId, locale, values) {
if (values === void 0) { values = {}; }
var intl = getIntl(locale);
return intl.formatMessage({ id: translationId, defaultMessage: translationId }, values);
}
exports.default = {
getIntl: getIntl,
getTranslation: getTranslation,
};
//# sourceMappingURL=IntlStore.js.map