nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
31 lines (30 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class Translator {
static configure(options) {
Translator.activeOptions = options || {};
Translator.activeOptions.defaultLocale = Translator.activeOptions.defaultLocale || 'global';
Translator.activeOptions.globalLocaleKey = Translator.activeOptions.globalLocaleKey || 'global';
Translator.localeData = options.locales || {};
Translator.activeLocale = Translator.activeLocale || Translator.activeOptions.defaultLocale;
}
static setActiveLocale(locale) {
Translator.activeLocale = locale;
}
static setLocaleData(locale, data) {
Translator.localeData[locale] = data;
}
static translate(key, locale, options) {
const localeData = Translator.localeData;
const activeLocale = typeof locale === 'string' ? locale || Translator.activeLocale : Translator.activeLocale;
if (!localeData || !localeData[activeLocale] || !localeData.global) {
return key;
}
const ld = localeData[activeLocale || 'global'];
const settings = typeof locale === 'object' ? locale : options;
return ld[key] || key;
}
}
exports.Translator = Translator;
exports.t = Translator.translate;
exports.translate = exports.t;