From 6c877115958ca797babbf08ee3afdb948b144fec Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Wed, 17 Feb 2021 12:32:00 +0100 Subject: [PATCH] Add internationalisation README --- i18n/README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 i18n/README.md diff --git a/i18n/README.md b/i18n/README.md new file mode 100644 index 00000000..e3b54c6e --- /dev/null +++ b/i18n/README.md @@ -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.