qt_add_translation
Kompiliert „ Qt Linguist “-TS-Dateien in .qm-Dateien.
Der Befehl ist in der Komponente „ LinguistTools “ des Pakets „ Qt6 “ definiert. Laden Sie das Paket mit folgendem Befehl:
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)Warnung: Diese Funktion ist veraltet. Ziehen Sie stattdessen die zielbasierten Funktionen ` qt_add_lrelease() ` oder ` qt_add_translations() ` in Betracht.
Übersicht
qt_add_translation(<VAR> file1.ts [file2.ts ...]
[OPTIONS ...])Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen „ qt6_add_translation “. Dieser Befehl unterstützt dieselben Argumente wie der vorliegende Befehl.
Beschreibung
Ruft für jede als Argument übergebene „ .ts “-Datei die Funktion „ lrelease “ auf und erzeugt dabei „ .qm “-Dateien. Die Pfade der erzeugten Dateien werden zu „ <VAR> “ hinzugefügt.
Optionen
Sie können zusätzliche ` OPTIONS `-Optionen festlegen, die beim Aufruf von ` lrelease ` übergeben werden sollen. Mögliche Optionen finden Sie in der lrelease-Dokumentation.
Standardmäßig werden die „ qm “-Dateien im aktuellen Build-Verzeichnis (CMAKE_CURRENT_BINARY_DIR) abgelegt. Um dies zu ändern, können Sie „ OUTPUT_LOCATION “ als Eigenschaft der Quelldatei „ .ts “ festlegen, bevor Sie „ qt_add_translation “ aufrufen.
Mit dem folgenden Code werden beispielsweise die „ .qm “-Dateien in einem Verzeichnis „ translations “ unterhalb des aktuellen Build-Verzeichnisses generiert.
set_source_files_properties(app_en.ts app_de.ts
PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
qt_add_translation(qmFiles app_en.ts app_de.ts)Beispiele
Erstellen von „ helloworld_en.qm “ und „ helloworld_de.qm “ im Build-Verzeichnis:
qt_add_translation(qmFiles helloworld_en.ts helloworld_de.ts)Erstellen von „ helloworld_en.qm “ und „ helloworld_de.qm “ in einem Unterverzeichnis „ l10n “:
set(TS_FILES helloworld_en.ts helloworld_de.ts)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "l10n")
qt_add_translation(qmFiles ${TS_FILES})© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.