new Translator(options)
The Translator is in charge of executing policies. Policies can be provided when constructing or when constructed by using the
Translator#add method, policies can be executed using the Translator#execute method. For information on the req object passed into policies, please refer to the documentation of the Request.
Parameters:
| Name | Type | Description |
|---|---|---|
options |
Object | Object with the properties listed below |
Properties:
| Name | Type | Description |
|---|---|---|
locales |
Object.<Object> | Hashmap with locales |
defaultLocale |
String | Name/key of the default locale |
delimiters |
Array.<String> | Array with two items, the start and end delimiter for template variables respectively |
options |
Object | The options object passed in |
Example
const translator = Translator({
defaultLocale: 'en-GB',
delimiters: ['{{', '}}'],
locales: {
'en-GB': {
words: {
'test': 'Test {{name}}!'
},
converters: {}
}
}
});
Members
-
<static> defaults :Object
-
Defaults for the options passed into the
TranslatorfactoryType:
- Object
Properties:
Name Type Argument Default Description delimitersArray.<String> <optional>
['{{', '}}'] The start and end delimiter for template variables -
converters :Object
-
Converters for the current locale
Type:
- Object
-
currentLocale :Object
-
The current locale object
Type:
- Object
-
words :Object
-
Words for the current locale
Type:
- Object
Methods
-
add(name, localeDefinition)
-
Adds one or more languages.
Parameters:
Name Type Description nameString | Object Name of the language, or a hashmap of policies localeDefinitionObject | undefined The definition of the language, has a words and converters property Example
translator.add('nl-NL', { words: {}, converters: { currency() {}, temperature() {} } }); // or translator.add({ 'nl-NL': { words: {}, converters: { currency() {}, temperature() {} } } }); -
setLocale(locale)
-
Sets the current locale
Parameters:
Name Type Description localeString The locale to set Example
translator.setLocale('en-GB') -
translate(key, data) → {String}
-
Translates a word with data, key may be a path (like 'basic.yes')
Parameters:
Name Type Argument Default Description keyString The key of the word to translate (may be deep using dots) dataObject <optional>
{} Data to fill the translation with Returns:
- Type
- String
Example
// where the translation for 'basic.greet' is 'hello {{model.name}}!' < translator.translate('basic.greet', {model: {name: 'BOB'}}); > "hello BOB!"