53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
# 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.
|