go-i18n JSON files#

New in version 4.1.

Changed in version 4.16: Support for v2 variant of this format was added.

go-i18n translations are monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Note

Weblate supports the go-i18n JSON v1 and v2 variants. Please choose correct file format matching your environment.

Example files#

Example file v1:

[
  {
    "id": "hello",
    "description": "Description",
    "translation": "Ahoj světe!\n"
  },
  {
    "id": "orangutan",
    "description": "Description",
    "translation": {
      "one": "Orangutan has {{.Count}} banana.\n",
      "other": "Orangutan has {{.Count}} bananas.\n"
    }
  },
  {
    "id": "try",
    "description": "Description",
    "translation": ""
  },
  {
    "id": "thanks",
    "description": "Description",
    "translation": ""
  }
]

Example file v2:

{
  "hello": "Ahoj světe!\n",
  "orangutan": {
    "description": "Description",
    "one": "Orangutan has {{.Count}} banana.\n",
    "other": "Orangutan has {{.Count}} bananas.\n"
  },
  "try": {
    "description": "Description",
    "other": ""
  },
  "thanks": {
    "description": "Description",
    "other": ""
  }
}

Weblate configuration#

Typical Weblate Component configuration for v1

File mask

langs/*.json

Monolingual base language file

langs/en.json

Template for new translations

Empty

File format

go-i18n v1 JSON file

Typical Weblate Component configuration for v2

File mask

langs/*.json

Monolingual base language file

langs/en.json

Template for new translations

Empty

File format

go-i18n v2 JSON file