Qt Quick I18N#
Generating translation files (TS and QM) for a Qt Quick application.
When you run the example application, the QML runtime automatically loads a translation from the i18n
subdirectory of the directory that contains the main .qml file, based on the system language.
Marking Text as Translatable#
In the qml-i18n.qml
file, use the qsTr
command to mark UI text as translatable:
Enabling Translation#
In the main.cpp
file, use QQmlApplicationEngine
to automatically load translation files from a subdirectory called i18n
in the directory that contains the main QML file:
The translation file names in the i18n
subdirectory must have the prefix qml_
. For example, qml_en_AU.ts
.
Creating Translation Files#
Add the LinguistTools
module as a value of the find_package
command in the CMakeLists.txt
file:
Define the translation files to generate in the qt_add_translations command:
Build the application to generate TS and QM files.
Note
On Android, make sure to include the QM files as resources.
Adding Translations#
To create translations for new languages, copy i18n/base.ts to i18n/qml_<lang>.ts. You can use Qt Linguist to translate the strings.