qt_collect_translation_source_targets
Sammelt Ziele, die für eine Übersetzung in Frage kommen.
Der Befehl ist in der Komponente „ LinguistTools “ des Pakets „ Qt6 “ definiert. Laden Sie das Paket mit folgendem Befehl:
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)Dieser Befehl wurde in Qt 6.7 eingeführt.
Übersicht
qt_collect_translation_source_targets(out_var [DIRECTORY path])Wenn versionsunabhängige Befehle deaktiviert sind, verwenden Sie stattdessen „ qt6_collect_translation_source_targets() “. Dieser Befehl unterstützt dieselben Argumente wie der vorliegende Befehl.
Beschreibung
Sammelt Ziele, die für die Übersetzung in der angegebenen „ DIRECTORY “ und allen Unterverzeichnissen in Frage kommen. Wenn „ DIRECTORY “ nicht angegeben ist, beginne die Zielsammlung unter „ CMAKE_CURRENT_SOURCE_DIR “.
Der Befehl speichert die Liste der Ziele in der Variablen, die als erstes Argument angegeben wird.
Ziele von der Übersetzung ausschließen
Standardmäßig kommen alle nicht importierten ausführbaren Ziele und Bibliotheksziele für die Übersetzung in Frage.
Einzelne Ziele können durch Setzen der Ziel-Eigenschaft QT_EXCLUDE_FROM_TRANSLATION ausgeschlossen werden.
Ziele unterhalb eines bestimmten Verzeichnisses können durch Setzen der Verzeichnis-Eigenschaft QT_EXCLUDE_FROM_TRANSLATION ausgeschlossen werden.
Wann dieser Befehl aufgerufen werden sollte
Der Befehl ` qt_collect_translation_source_targets ` liest die Verzeichnis-Eigenschaften von ` BUILDSYSTEM_TARGETS `. Daher werden nur Ziele erfasst, die bereits angelegt wurden. Ziele, die nach dem Aufruf von ` qt_collect_translation_source_targets ` angelegt werden, werden nicht erfasst.
Um alle Ziele des Build-Systems zu erfassen, rufen Sie „ qt_collect_translation_source_targets “ am Ende des obersten Verzeichnisses „ CMakeLists.txt “ auf oder verwenden Sie „ cmake_language(DEFER CALL) “, um die i18n-Einstellungen am Ende des obersten Verzeichnisbereichs zu konfigurieren.
Beispiele
Verwenden Sie das Ergebnis von ` qt_collect_translation_source_targets ` als Eingabe für ` qt_add_lupdate`.
add_subdirectory(src) # The actual application is defined here.
# All targets that have been defined up to this point will be in i18n_targets.
qt_collect_translation_source_targets(i18n_targets)
qt_add_lupdate(SOURCE_TARGETS ${i18n_targets})
# No targets from this directory are in i18n_targets.
add_subdirectory(tests) # Unit tests - we don't want to translate those.Ab CMake 3.19 können Sie die Quellcode-Ziele am Ende des Verzeichnisbereichs erfassen. Auf diese Weise kann qt_collect_translation_source_targets aufgerufen werden, bevor alle Ziele definiert wurden. Sie müssen jedoch die Tests ausschließen, indem Sie die Verzeichniseigenschaft QT_EXCLUDE_FROM_TRANSLATION auf ON setzen.
function(set_up_translations)
qt_collect_translation_source_targets(i18n_targets)
qt_add_lupdate(SOURCE_TARGETS ${i18n_targets})
endfunction()
cmake_language(DEFER CALL set_up_translations)
add_subdirectory(src) # The actual application is defined here.
add_subdirectory(tests) # Unit tests - we don't want to translate those.
set_property(DIRECTORY tests PROPERTY QT_EXCLUDE_FROM_TRANSLATION ON)© 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.