lupdate stays responsible for extracting tr() and qsTr() calls. Hyperlocalise translates the resulting .ts catalogs.
Native Platform uploads treat .ts as Qt Linguist. TypeScript locale modules that also use .ts stay on the CLI JavaScript and TypeScript workflow.
Prerequisites
You need:- a Qt or QML project that produces
.tscatalogs withlupdate; - the Hyperlocalise CLI;
- a Platform project with
en-USas source andfr-FRandde-DEas targets; and HYPERLOCALISE_API_KEYandHYPERLOCALISE_PROJECT_IDin your environment.
1. Extract a source catalog
Keeptr() and qsTr() calls in application code. Use QT_TRID_NOOP when a message needs a stable id.
lupdate to write the source catalog:
<translation> elements in the source file. Hyperlocalise preserves <source> and writes the translated value into <translation>.
Messages that share the same source text in different contexts or with different
<comment> values become separate keys. Obsolete and vanished translations are not imported.2. Map source and targets
Createi18n.yml:
3. Upload and translate
Upload the source catalog from Files, or sync it with the CLI:MainWindow|Welcome back and MainWindow|Open|verb.
%1, %n, %L1, and %Ln stay in the string. Keep every placeholder when you edit a translation. Rich text stays escaped (<b>); only <byte> is stored as an XML child.
4. Download and compile
Download translations or pull reconstructed catalogs:.ts file in Qt Linguist if you want a desktop review pass. Then ship the .qm files with the application.
Next steps
- Supported formats lists native upload extensions.
- Translate Qt Linguist TS covers local
runbehavior. - XLIFF is the interchange alternative when a pipeline already emits XLIFF.

