keys
{
"key": "value of key",
"look": {
"deep": "value of look deep"
}
}
sample
i18next.t('key');
// -> "value of key"
i18next.t('look.deep');
// -> "value of look deep"
You can pass in a default value for cases the key could not be found in translations like:
i18next.t('key', 'default value to show');
Namespaces are a feature in i18next internationalization framework which allows you to separate translations that get loaded into multiple files.
init
i18next.init({
ns: ['common', 'moduleA'],
defaultNS: 'moduleA'
});
moduleA.json
{
"name": "Module A"
}
common.json
{
"button": {
"save": "save"
}
}
sample
i18next.t('name');
// -> "Module A"
i18next.t('common:button.save');
// -> "save"
Calling the t function with an array of keys enables you to translate dynamic keys providing a non specific fallback value.
As a sample think of an error code you get and you like to show a specific warning in some cases:
keys
{
"error": {
"unspecific": "Something went wrong.",
"404": "The page was not found."
}
}
sample
// const error = '404';
i18next.t([`error.${error}`, 'error.unspecific']); // -> "The page was not found"
// const error = '502';
i18next.t([`error.${error}`, 'error.unspecific']); // -> "Something went wrong"
i18next.t(key, options)
option | description |
---|---|
defaultValue | defaultValue to return if a translation was not found, you also can define defaults for plurals by adding defaultValue_plural / defaultValue_2 -> _suffix depends on same pluralrules. |
count | count value used for plurals |
context | used for contexts (eg. male / female) |
replace | object with vars for interpolation - or put them directly in options |
lng | override language to use |
lngs | override languages to use |
fallbackLng | override language to lookup key if not found see fallbacks for details |
ns | override namespaces (string or array) |
keySeparator | override char to separate keys |
nsSeparator | override char to split namespace from key |
returnObjects | accessing an object not a translation string (can be set globally too) |
joinArrays | char, eg. '\n' that arrays will be joined by (can be set globally too) |
postProcess | string or array of postProcessors to apply see interval plurals as a sample |
interpolation | override interpolation options |
skipInterpolation | skip interpolation and nesting for this call to t function |