JSON files¶
Changed in version 4.3: The structure of JSON file is properly preserved even for complex situations which were broken in prior releases.
JSON format is used mostly for translating applications implemented in JavaScript.
Weblate currently supports several variants of JSON translations:
Simple key / value files, used for example by vue-i18n or react-intl.
Files with nested keys.
JSON translations are usually monolingual, so it is recommended to specify a base file with (what is most often the) English strings.
Hint
The JSON file and JSON nested structure file can both handle same type of files. Both preserve existing JSON structure when translating.
The only difference between them is when adding new strings using Weblate.
The nested structure format parses the newly added key and inserts the new
string into the matching structure. For example app.name
key is inserted as:
{
"app": {
"name": "Weblate"
}
}
Example files¶
Example file:
{
"Hello, world!\n": "Ahoj světe!\n",
"Orangutan has %d banana.\n": "",
"Try Weblate at https://demo.weblate.org/!\n": "",
"Thank you for using Weblate.": ""
}
Nested files are supported as well (see above for requirements), such a file can look like:
{
"weblate": {
"hello": "Ahoj světe!\n",
"orangutan": "",
"try": "",
"thanks": ""
}
}
Weblate configuration¶
Typical Weblate Component configuration |
|
---|---|
File mask |
|
Monolingual base language file |
|
Template for new translations |
Empty |
File format |
JSON nested structure file |