prodap-lore-locale
Version:
Package used to carry out the internationalization of Lore
78 lines • 3.73 kB
JavaScript
;
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _Locales_locale;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Locales = void 0;
const translations_1 = require("./translations");
class Locales {
constructor(props) {
_Locales_locale.set(this, void 0);
__classPrivateFieldSet(this, _Locales_locale, !props ? null : typeof props === 'string' ? props : props.locale, "f");
this.fecthTranslation(__classPrivateFieldGet(this, _Locales_locale, "f"));
}
fecthTranslation(newLocale) {
try {
translations_1.translations.map(({ data, locale }) => {
if (!newLocale ||
newLocale.toLowerCase() === locale.toLowerCase() ||
newLocale.split('-')[0] === locale.split('-')[0]) {
__classPrivateFieldSet(this, _Locales_locale, newLocale ? newLocale : locale, "f");
const translation = { [locale]: {} };
data.map((item) => {
const { key, value } = item;
return (translation[locale][key] = value);
});
return (this[__classPrivateFieldGet(this, _Locales_locale, "f")] = translation[locale]);
}
return this[newLocale];
});
}
catch (error) {
console.error('Failed to fetch translation\n', error);
}
}
getCurrentLocale() {
return __classPrivateFieldGet(this, _Locales_locale, "f");
}
getLocales() {
try {
return translations_1.translations.map(({ locale }) => locale);
}
catch (error) {
console.error('Failed to fetch locales\n', error);
}
}
translate(scope) {
try {
if (Array.isArray(scope) && scope.length >= 1) {
return scope.map((value) => {
try {
return this[__classPrivateFieldGet(this, _Locales_locale, "f")][value];
}
catch (error) {
console.error(`Failed to translate - ${value} in ${__classPrivateFieldGet(this, _Locales_locale, "f")}\n`, error);
}
});
}
else {
return this[__classPrivateFieldGet(this, _Locales_locale, "f")][scope];
}
}
catch (error) {
console.error(`Failed to translate - ${scope} in ${__classPrivateFieldGet(this, _Locales_locale, "f")}\n`, error);
}
}
}
exports.Locales = Locales;
_Locales_locale = new WeakMap();
//# sourceMappingURL=locales.js.map