Add internationalisation README

This commit is contained in:
Veronica K. B. Olsen
2021-02-17 12:32:00 +01:00
parent 35b8e389a3
commit 6c87711595
+52
View File
@@ -0,0 +1,52 @@
# novelWriter Internationalisation
The `i18n` folder contains the internationalisation files for novelWriter.
There are two types of files. The `nw_XX.qm` files are for localisation of the
main GUI, and the `project_XX.json` files are JSON files with translation maps
for the novelWriter projects.
## GUI Localisation
The `.qm` files are not generated by default. They can be built with:
```bash
python3 setup.py qtlrelease
```
To add a new translation file, please add a new entry in the `novelWriter.pro`
file under the `TRANSLATIONS` variable. Please use the underscore syntax for
file names as the importer expects this format.
After adding the entry in the `.pro` file, run:
```bash
python3 setup.py qtlupdate
```
This will build a new `nw_XX.ts` file for the language you just added. The file
can then be edited with the Qt 5 Linguist application. Please select "English"
and "United Kingdom" as the source langauge when prompted.
When you're done editing, you can build the `nw_XX.qm` file and test it in
novelWriter.
**Note:** This requires that you have the tools Qt 5 Linguist and `pylupdate5`
installed on your system.
## Project Localisation
Projects can have a different language setting than the GUI itself. The files
with format `project_XX.json` are simple translation maps for text that goes
into the exported documents.
The files are loaded based on the main GUI spell check language or the
project's spell check language. The project's spell check language takes
precedence over the GUI spell check language.
Since these are used mainly as replacement lookups, they are maintained as
plain JSON files. The main usage is to generate chapter headers as number
words.
There is no trick to using these files. Just copy the `project_en.json` file,
rename it, and edit it. Please use the underscore as separator if a language
needs to be localised to a specific country under a language. The importer will
for instance look for `en_GB` or `en_US` first, then use `en` if either is not
found. If there are no matching files, the project falls back to using English.