@mongez/localization
Version:
A simple i18n localization handler for browsers and nodejs
37 lines (36 loc) • 1.71 kB
JavaScript
;var reinforcements=require('@mongez/reinforcements'),placeholderPatternConfig=require('./placeholder-pattern-config.js'),translator=require('./translator.js');let localesConfig = {};
/**
* Initiate localization configurations
*/
function setLocalizationConfigurations(configurationsList) {
localesConfig = reinforcements.merge(localesConfig, configurationsList);
if (configurationsList.translations) {
translator.setTranslationsList(configurationsList.translations);
}
if (configurationsList.converter) {
translator.setConverter(configurationsList.converter);
}
if (configurationsList.fallback) {
translator.setFallbackLocaleCode(configurationsList.fallback);
}
if (configurationsList.defaultLocaleCode) {
translator.setCurrentLocaleCode(configurationsList.defaultLocaleCode);
}
if (configurationsList.placeholderPattern) {
placeholderPatternConfig.setPlaceholderPattern(typeof configurationsList.placeholderPattern === "string"
? placeholderPatternConfig.placeholderPatterns[configurationsList.placeholderPattern]
: configurationsList.placeholderPattern);
}
}
/**
* Get current localization configurations list
*/
function getLocalizationConfigurations() {
return localesConfig;
}
/**
* Get single value of the localization configurations list
*/
function getLocaleConfig(key, defaultValue = null) {
return reinforcements.get(localesConfig, key, defaultValue);
}exports.getLocaleConfig=getLocaleConfig;exports.getLocalizationConfigurations=getLocalizationConfigurations;exports.setLocalizationConfigurations=setLocalizationConfigurations;//# sourceMappingURL=config.js.map