qt_add_lupdate
Hinzufügen von Zielen zum Erzeugen oder Aktualisieren von Qt Linguist.ts-Dateien.
Der Befehl ist in der Komponente LinguistTools
des Pakets Qt6
definiert. Laden Sie das Paket mit:
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
Dieser Befehl wurde in Qt 6.2 eingeführt.
Synopse
Seit 6.7:
qt_add_lupdate(TS_FILES file1.ts [file2.ts ...] [PLURALS_TS_FILE file.ts] [SOURCE_TARGETS target1 [target2 ...]] [SOURCES source1.cpp [sources2.cpp ...]] [INCLUDE_DIRECTORIES directory1 [directory2 ...]] [LUPDATE_TARGET target-name] [NO_GLOBAL_TARGET] [OPTIONS ...])
Seit 6.2 (veraltet):
qt_add_lupdate(target TS_FILES file1.ts [file2.ts ...] [SOURCES source1.cpp [sources2.cpp ...]] [INCLUDE_DIRECTORIES directory1 [directory2 ...]] [NO_GLOBAL_TARGET] [OPTIONS ...])
Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen qt6_add_lupdate()
. Er unterstützt die gleichen Argumente wie dieser Befehl.
Beschreibung
Erzeugt ein benutzerdefiniertes Ziel, um Qt Linguist .ts
Dateien mit lupdate zu erzeugen oder zu aktualisieren.
Der Name dieses benutzerdefinierten Ziels lautet standardmäßig ${PROJECT_NAME}_lupdate
. Weitere Aufrufe von qt_add_lupdate
erzeugen Zielnamen mit angehängter steigender Nummer. Der Name des benutzerdefinierten Ziels kann mit der Option LUPDATE_TARGET
angegeben werden.
Mit dem Argument SOURCE_TARGETS
können Sie eine Liste von Zielen angeben, die Quellen mit übersetzbaren Zeichenfolgen enthalten. Wenn SOURCE_TARGETS
nicht angegeben ist, können Sie SOURCES
angeben, was weiter unten beschrieben wird. Wenn weder SOURCE_TARGETS
noch SOURCES
angegeben wird, wird der Befehl qt_collect_translation_source_targets aufgerufen, um die Liste der Ziele zu erhalten.
Die .ts
Dateien müssen mit dem Argument TS_FILES
angegeben werden.
Diese Funktion ist dafür gedacht, in Verbindung mit qt_add_lrelease verwendet zu werden. Siehe auch den Komfort-Wrapper qt_add_translations.
Sourcen und Include-Verzeichnisse
Mit SOURCES
können Sie explizit zusätzliche Quelldateien angeben, die übersetzbare Zeichenketten enthalten.
Sie können INCLUDE_DIRECTORIES
verwenden, um explizit Include-Verzeichnisse für diese Quelldateien anzugeben.
Optionen
Sie können zusätzliche OPTIONS
festlegen, die beim Aufruf von lupdate
übergeben werden sollen. Mögliche Optionen finden Sie in der lupdate-Dokumentation.
Umbrella-Ziel
Zusätzlich zum Ziel ${target}_lupdate
wird ein übergeordnetes Ziel update_translations
erstellt. Dieses Ziel erstellt alle ${target}_lupdate
Ziele, die mit qt_add_lupdate
erstellt wurden.
Übergeben Sie NO_GLOBAL_TARGET
an qt_add_lupdate
, um dieses Verhalten zu verhindern.
Der Name dieses Ziels kann überschrieben werden, indem die Variable QT_GLOBAL_LUPDATE_TARGET
vor dem Aufruf von qt_add_lupdate
gesetzt wird.
Plural-Formen
QT_I18N_SOURCE_LANGUAGE gibt die Sprache an, in der die Quellcode-Strings geschrieben werden. Um Pluralformen korrekt zu behandeln, erstellen Sie eine zusätzliche .ts
Datei für diese Sprache, die nur übersetzbare Strings für Pluralformen enthält. Siehe Behandlung von Pluralformen für Details.
Mit PLURALS_TS_FILE
können Sie die Datei .ts
für die Ausgangssprache angeben. Diese Datei enthält dann nur Pluralformen.
Veraltete Befehlssignatur
Ältere Versionen von qt_add_lupdate
nahmen ein Ziel als erstes Argument an. Dies ist veraltet. Verwenden Sie stattdessen das Argument SOURCE_TARGETS
.
Beispiele
Hinzufügen der Ziele myapp_lupdate
und update_translations
zum Aktualisieren der Datei .ts
einer Anwendung myapp
.
qt_add_lupdate( SOURCE_TARGETS myapp TS_FILES myapp_de.ts PLURALS_TS_FILE myapp_en.ts )
Sie können den Namen des erstellten Ziels angeben, indem Sie das Argument LUPDATE_TARGET
übergeben:
qt_add_lupdate( LUPDATE_TARGET update_application_translations TS_FILES myapp_de.ts PLURALS_TS_FILE myapp_en.ts )
© 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.