status-desktop/I18N.md

1.4 KiB

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
  3. Create translation binaries lrelease ui/i18n/*.ts
  4. 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