Skip to content

Latest commit

 

History

History
125 lines (92 loc) · 2.88 KB

essentials.md

File metadata and controls

125 lines (92 loc) · 2.88 KB

Essentials

Essentials

Accessing keys

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"

Passing a default value

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');

Accessing keys in different namespaces

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"

Multiple fallback keys

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"

Overview options

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