i18next is a JavaScript translation library for websites and JavaScript apps.
To localize a website i18next is using a custom JSON format that you can either import and export manually on the dashboard or you can automate your JavaScript translation process with the GL Strings Localization CLI.
Website: https://www.i18next.com
{
"empty_string_key": "",
"with_description_key": "This key has a description in some file-formats.",
"with_line_break_key": "This key has a line break\nin it.",
"nested_key": {
"level_one_a": {
"level_two": "A deeply nested key."
},
"level_one_b": "A nested key."
},
"plural_key_1": "Plural key one",
"plural_key_5": "Plural key other",
"plural_key_0": "Plural key zero",
"keyPluralMultipleEgArabic_one": "the plural form 1",
"keyPluralMultipleEgArabic_many": "the plural form 4",
"keyPluralMultipleEgArabic_other": "the plural form 5",
"array_key": [
"first entry",
"second entry",
"third entry"
],
"simple_key": "Most basic translation."
}
It is important to note that only valid v3 and v4 plural syntax as described in i18next docs are supported for import. When strings are exported with the i18next_json
format selected, plural strings are exported in v4 syntax.
For example an imported file can have a plural string as "plural_key_5": "Plural key other"
(v3) or "plural_key_other": "Plural key other"
(v4). When the strings are exported the output would be "plural_key_other": "Plural key other"
(v4).
Note that the singular case in v3 get's created to have compability with the v4 format. So for example {'someplural': 'someData', 'someplural_3': 'someDatafew'}
during import will create an extra Key for 'someplural_one' to have compability with the v4 format.
During file imports sometimes some parts of string id's may be wrapped in quotes if they contain a .
(dot). You can find more info on wrapped string Ids here.