Translations live as .ts files under i18n/ (Qt's translation source format). The build pipeline compiles them to
.qm binaries that ship with the application. Editing happens in Qt Linguist. Everything else is a just recipe.
For setup, see development.md.
-
Create the translation file:
just add-translation <locale> # e.g. just add-translation fr-FR
A
<locale>.tsfile appears underi18n/. -
Translate the strings using Qt Linguist:
pyside6-linguist i18n/<locale>.ts
-
Add the new language to the
LANGUAGESlist inmpvqc/datamodels.pyso it appears in the application's language menu. List the translator(s) on the same entry to credit them in the About dialog. -
Recompile resources and test:
just build-develop
Start the application, switch to the new locale through the application's settings, and verify the strings render correctly.
When translatable strings in the source code change, refresh every .ts file from current sources:
just update-translationsThis scans Python and QML for translatable strings and merges new entries into the existing .ts files.
- development.md: setup and tooling
- releasing.md: translation checks in the release flow