@mongez/localization
Version:
A simple i18n localization handler for browsers and nodejs
37 lines (36 loc) • 1.56 kB
JavaScript
import {merge,get}from'@mongez/reinforcements';import {setPlaceholderPattern,placeholderPatterns}from'./placeholder-pattern-config.js';import {setTranslationsList,setConverter,setFallbackLocaleCode,setCurrentLocaleCode}from'./translator.js';let localesConfig = {};
/**
* Initiate localization configurations
*/
function setLocalizationConfigurations(configurationsList) {
localesConfig = merge(localesConfig, configurationsList);
if (configurationsList.translations) {
setTranslationsList(configurationsList.translations);
}
if (configurationsList.converter) {
setConverter(configurationsList.converter);
}
if (configurationsList.fallback) {
setFallbackLocaleCode(configurationsList.fallback);
}
if (configurationsList.defaultLocaleCode) {
setCurrentLocaleCode(configurationsList.defaultLocaleCode);
}
if (configurationsList.placeholderPattern) {
setPlaceholderPattern(typeof configurationsList.placeholderPattern === "string"
? 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 get(localesConfig, key, defaultValue);
}export{getLocaleConfig,getLocalizationConfigurations,setLocalizationConfigurations};//# sourceMappingURL=config.js.map