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:
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
Warnung: Diese Funktion ist veraltet. Erwägen Sie stattdessen die Verwendung der zielbasierten Funktionen qt6_add_lrelease oder qt6_add_translations.
Synopse
qt_add_translation(<VAR> file1.ts [file2.ts ...] [OPTIONS ...])
Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen qt6_add_translation
. Er unterstützt die gleichen Argumente wie dieser Befehl.
Beschreibung
Ruft lrelease
für jede .ts
Datei auf, die als Argument übergeben wird, und erzeugt .qm
Dateien. Die Pfade der erzeugten Dateien werden zu <VAR>
hinzugefügt.
Optionen
Sie können zusätzliche OPTIONS
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 eine Eigenschaft der Quelldatei .ts
festlegen.
Mit dem folgenden Code werden zum Beispiel die .qm
Dateien in einem translations
Verzeichnis unterhalb des aktuellen Build-Verzeichnisses erzeugt.
set_source_files_properties(app_en.ts app_de.ts PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
Beispiele
Erzeugen von helloworld_en.qm
, helloworld_de.qm
im Build-Verzeichnis:
qt_add_translation(qmFiles helloworld_en.ts helloworld_de.ts)
Generierung von helloworld_en.qm
, helloworld_de.qm
in einem l10n
Unterverzeichnis:
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})
© 2025 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.