status-desktop/I18N.md

33 lines
1.4 KiB
Markdown

# Internationalization
App is translated to many different languages through lokalise.com platform.
## TLDR
#### Update base translations file
1. Update qml_en.ts file: `cd scripts/translationScripts && python update-en-ts.py`
2. Ensure updated qml_en.ts file lands on master
#### Update translation binaries
1. Download translated *.ts files from lokalise.com
2. Override ui/i18n/*.ts files with downloaded ones
2. Create translation binaries `lrelease ui/i18n/*.ts`
3. Commit updated *.ts and *.qm files
## Lokalise workflow
Lokalise is a continuous localization and translation management platform. It integrates into development workflow and automates localization process.
Lokalise workflow:
1. Upload english strings (qml_en.ts) to Lokalise project. This is done automatically, Lokalise auto-pull changes done to master's qml_en.ts file.
2. Translate strings to target languages. Target languages are driven by Lokalise configuration. Translations are done by community.
3. Export *.ts files with translations (e.g. qml_de.ts, qml_en.ts)
## Updating translation files
Updating the QML translation files is very easy, as it comes with QT directly. It will scan all files in the projects (those listed in the `SOURCE` section of the `.pro` file) and then add or modify them in the XML-like `.ts` files.
## Generating binary translation files
To have the final translation files that will be used by the app, just run `lrelease i18n/*.ts` in the `ui/` directory