Skip to content

OutOfSyncStudios/localize

Repository files navigation

localize

NPM

Actual version published on npm Total npm module downloads Codacy Badge Codacy Coverage Badge Dependencies badge

localize is a basic i18n module for Node.JS.

npm install @outofsync/localize

const Localize = require('@outofsync/localize');
const i18n = new Localize({
  'en': {
    'TestKey': 'Test'
  },
  'es': {
    'TestKey': 'Prueba'
  }
});

console.log(i18n.tr('TestKey'));

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.

Licensed under the MIT license. Copyright (c) 2019-2022 Out of Sync Studios LLC