{"key": "value","keyDeep": {"inner":"value" },"keyNesting": "reuse $t(keyDeep.inner)","keyInterpolate": "replace this {{value}}","keyInterpolateUnescaped": "replace this {{- value}}","keyInterpolateWithFormatting": "replace this {{value, format}}","keyContext_male": "the male variant","keyContext_female": "the female variant","keyPluralSimple_one": "the singular","keyPluralSimple_other": "the plural","keyPluralMultipleEgArabic_zero": "the plural form 0","keyPluralMultipleEgArabic_one": "the plural form 1","keyPluralMultipleEgArabic_two": "the plural form 2","keyPluralMultipleEgArabic_few": "the plural form 3","keyPluralMultipleEgArabic_many": "the plural form 4","keyPluralMultipleEgArabic_other": "the plural form 5","keyWithArrayValue": ["multipe","things"],"keyWithObjectValue": { "valueA":"return this with valueB","valueB":"more text" }}
These are the defaults. Nesting and Interpolation formats are configurable.
To learn more about the features check the documentation:
To convert your existing translations to the new v4 format, have a look at i18next-v4-format-converter or this web tool. (It will only handle keys with the default pluralSeparator _)
i18next JSON v3
enabled by:
i18next.init({ compatibilityJSON:'v3'});
formats:
{"key": "value","keyDeep": {"inner":"value" },"keyNesting": "reuse $t(keyDeep.inner)","keyInterpolate": "replace this {{value}}","keyInterpolateUnescaped": "replace this {{- value}}","keyInterpolateWithFormatting": "replace this {{value, format}}","keyContext_male": "the male variant","keyContext_female": "the female variant","keyPluralSimple": "the singular","keyPluralSimple_plural": "the plural","keyPluralMultipleEgArabic_0": "the plural form 0","keyPluralMultipleEgArabic_1": "the plural form 1","keyPluralMultipleEgArabic_2": "the plural form 2","keyPluralMultipleEgArabic_3": "the plural form 3","keyPluralMultipleEgArabic_4": "the plural form 4","keyPluralMultipleEgArabic_5": "the plural form 5","keyWithArrayValue": ["multipe","things"],"keyWithObjectValue": { "valueA":"return this with valueB","valueB":"more text" }}
The only difference to v2 is the plural suffixes for languages with multiple plural forms.
i18next JSON v2
enabled by:
i18next.init({ compatibilityJSON:'v2'});
formats:
{"key": "value","keyDeep": {"inner":"value" },"keyNesting": "reuse $t(keyDeep.inner)","keyInterpolate": "replace this {{value}}","keyInterpolateUnescaped": "replace this {{- value}}","keyContext_male": "the male variant","keyContext_female": "the female variant","keyPluralSimple": "the singular","keyPluralSimple_plural": "the plural","keyPluralMultipleEgArabic_0": "the plural form 0","keyPluralMultipleEgArabic_1": "the plural form 1","keyPluralMultipleEgArabic_2": "the plural form 2","keyPluralMultipleEgArabic_3": "the plural form 3","keyPluralMultipleEgArabic_11": "the plural form 4","keyPluralMultipleEgArabic_100": "the plural form 5"}
These are the defaults. Nesting and Interpolation formats are configurable.
i18next JSON v1
enabled by:
i18next.init({ compatibilityJSON:'v1'});
formats:
{"key": "value","keyDeep": {"inner":"value" },"keyNesting": "reuse $t(keyDeep.inner)","keyInterpolate": "replace this __value__","keyInterpolateUnescaped": "replace this __valueHTML__","keyContext_male": "the male variant","keyContext_female": "the female variant","keyPluralSimple": "the singular","keyPluralSimple_plural": "the plural","keyPluralMultipleEgArabic": "the plural form 0","keyPluralMultipleEgArabic_plural_1": "the plural form 1","keyPluralMultipleEgArabic_plural_2": "the plural form 2","keyPluralMultipleEgArabic_plural_3": "the plural form 3","keyPluralMultipleEgArabic_plural_11": "the plural form 4","keyPluralMultipleEgArabic_plural_100": "the plural form 5"}
These are the defaults. Nesting and Interpolation formats are configurable.