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.