i18next

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

File Extension
.json
CLI format key
i18next_json
CLI Supported
true
SDK Supported
false
String Description Supported
false
Pluralization Supported
true

Example:

{
  "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."
}

Pluralization Support

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.

Wrapped String Ids

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.