localize
localize
is a basic i18n module for Node.JS.
Installation
npm install @outofsync/localize
Usage
const Localize = require('@outofsync/localize');
const i18n = new Localize({
'en': {
'TestKey': 'Test'
},
'es': {
'TestKey': 'Prueba'
}
});
console.log(i18n.tr('TestKey'));
API Reference
Localize constructor(dictionaries, defaultLang) ⟾ instanceof Localize
Create an instance of Localize with the dictionaries provided and using the default language. If no default language is provided then 'en'
will be used.
Localize isLanguageAvailable(lang) ⟾ boolean
Returns a boolean regarding the availability of a dictionary for the provided lang
.
Localize sanitizeLanguageCode(lang) ⟾ string
Sanitizes a the lang
provided to only the first two characters of a string. If a non-string value for lang
is provided then 'en'
is returned.
Localize setDefaultLanguage(lang) ⟾ string
Sets the default language to the lang
provided after sanitization. If no dictionary for the lang
is available, then an error is thrown.
Localize listLanguages ⟾ Array
Returns an Array of the available dictionary languages.
Localize loadDictionary(lang, dictionary)
Loads and overwrites dictionary entries for the given lang
. Existing key values are overwritten by values loaded.
Localize tr(key, lang, ...params) ⟾ string | object | null
Returns the translations provided for a given key of the lang
provided, or a map of the dictionary for the top level key. If no lang
is provided or is not available, then the default language is used. If the key does not exist in the dictionary, then a null
value is returned. Additional parameters may be passed and they are replaced in the translated string in the order they appear where '$1', '$2', etc... appear in strings.
License
Licensed under the MIT license. Copyright (c) 2019-2022 Out of Sync Studios LLC