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.