UNPKG

@sphereon/ui-components.core

Version:
61 lines (60 loc) 2.65 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var _a; exports.__esModule = true; exports.translate = void 0; var i18n_js_1 = __importDefault(require("i18n-js")); var lodash_memoize_1 = __importDefault(require("lodash.memoize")); var types_1 = require("../types"); var Localization = (function () { function Localization() { } var _b; _b = Localization; Localization.translationGetters = (_a = {}, _a[types_1.SupportedLanguage.ENGLISH] = function () { return require('./translations/en.json'); }, _a[types_1.SupportedLanguage.DUTCH] = function () { return require('./translations/nl.json'); }, _a); Localization.translate = (0, lodash_memoize_1["default"])(function (key, config) { var _a, _c; if (Object.keys(i18n_js_1["default"].translations).length === 0) { i18n_js_1["default"].translations = (_a = {}, _a[types_1.SupportedLanguage.ENGLISH] = Localization.translationGetters[types_1.SupportedLanguage.ENGLISH](), _a); i18n_js_1["default"].locale = types_1.SupportedLanguage.ENGLISH; } else { i18n_js_1["default"].translations = (_c = {}, _c[i18n_js_1["default"].locale] = __assign(__assign({}, i18n_js_1["default"].translations[i18n_js_1["default"].locale]), Localization.translationGetters[_b.findSupportedLanguage(i18n_js_1["default"].locale) || types_1.SupportedLanguage.ENGLISH]()), _c); } return i18n_js_1["default"].t(key, config); }, function (key, config) { return (config ? key + JSON.stringify(config) : key); }); Localization.findSupportedLanguage = function (locale) { for (var _i = 0, _a = Object.values(types_1.SupportedLanguage); _i < _a.length; _i++) { var language = _a[_i]; if (language === locale) { return language; } } }; Localization.getLocale = function () { return i18n_js_1["default"].locale || types_1.SupportedLanguage.ENGLISH; }; return Localization; }()); exports.translate = Localization.translate; exports["default"] = Localization;