Auf dieser Seite

Verwendung von lupdate

Das Befehlszeilentool „ lupdate “ sucht in C++-Quell-, C++-Header-, Java-, Python-, QML- und UI-Dateien nach übersetzbaren Zeichenfolgen und generiert oder aktualisiert TS-Dateien.

Beim Erstellen mit qmake geben Sie die zu verarbeitenden Dateien über die Befehlszeile oder in einer .pro-Datei an.

Beim Erstellen mit CMake fügen Sie mithilfe von CMake-Befehlen Ziele hinzu, die TS-Dateien erstellen oder aktualisieren und diese in QM-Dateien umwandeln. Das Tool „ lupdate “ wird mit den Optionen ausgeführt, die Sie den Befehlen beim Erstellen des Ziels übergeben.

Weitere Informationen zum Festlegen von Übersetzungen in Projektdateien finden Sie unter „Lokalisierung von Anwendungen“.

lupdate-Syntax

lupdate [options] [project-file]...
lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file

Wobei:

  • options steht für eine oder mehrere lupdate-Optionen.
  • project-file ist die Projektkonfigurationsdatei.
  • source-file ist eine Datei, die übersetzbare Zeichenfolgen enthält.
  • path ist der Pfad zu einem Ordner, der die Quelldateien für die Übersetzung enthält.
  • @lst-file liest zusätzliche Dateinamen (einen pro Zeile) oder Einbindepfade (einen pro Zeile, denen „ -I “ vorangestellt ist) aus der lst-Datei.
  • ts-files sind die zu erzeugenden oder zu aktualisierenden TS-Dateien.

Um die aktuelle Hilfe anzuzeigen, geben Sie Folgendes ein:

lupdate -help

lupdate options

OptionAktion
-helpAktuelle Hilfeinformationen anzeigen und das Programm beenden.
-no-obsoleteAlle veralteten und nicht mehr vorhandenen Zeichenfolgen entfernen.
-extensions <ext>[,<ext>]...Nur Dateien mit den angegebenen Dateiendungen verarbeiten. Trennen Sie die Dateiendungen in der Liste durch Kommas. Verwenden Sie keine Leerzeichen. Der Standardwert lautet: java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml,qrc.
-pluralonlyNur Meldungen in Pluralform einbeziehen.
-silentErläutere nicht, was gerade geschieht.
-no-sortSortiere Kontexte in TS-Dateien nicht.
-sort-messagesSortiere Meldungen in einem Kontext in TS-Dateien alphabetisch.
-no-recursiveVerzeichnisse nicht rekursiv durchsuchen.
-recursiveDurchsuche Verzeichnisse rekursiv (Standard).
-warnings-are-errorsBehandeln Sie Warnungen als Fehler.
-I <includepath> or -I<includepath>Suchen Sie nach Include-Dateien an diesem zusätzlichen Speicherort. Sie können mehrere Pfade angeben.
-locations {absolute|relative|none}Legen Sie fest, wie Verweise auf Quellcode in TS-Dateien gespeichert werden sollen, oder überschreiben Sie die Standardeinstellung.
  • absolute bedeutet, dass der Pfad der Quelldatei relativ zur Zieldatei ist, die Zeilennummer jedoch absolut ist.
  • relative bedeutet, dass der Pfad der Quelldatei relativ zur Zieldatei ist. Die Zeilennummer ist relativ zu anderen Einträgen in derselben Quelldatei.
  • none Es werden keine Informationen zum Speicherort der Quelldatei gespeichert.

Wenn Sie den Speicherort nicht angeben, ermittelt „ lupdate “ diesen anhand vorhandener TS-Dateien. Der Standardwert für neue Dateien lautet „ absolute “.

-no-ui-linesZeilennummern in Verweisen auf UI-Dateien nicht aufzeichnen.
-disable-heuristic {sametext|similartext}Deaktivieren Sie die benannte Merge-Heuristik. Kann mehrfach angegeben werden.
-project <filename>Name einer Datei, die die Projektbeschreibung im JSON-Format enthält. Sie können lupdate-pro -dump-json <file> verwenden, um die Datei aus einer .pro-Datei zu generieren.
-pro <filename>Name einer .pro-Datei. Nützlich für Dateien mit der Syntax einer .pro-Datei, aber einer anderen Dateiendung. Projekte werden rekursiv durchsucht und zusammengeführt. Diese Option ist veraltet. Verwenden Sie stattdessen das Tool lupdate-pro.
-pro-out <directory>Virtuelles Ausgabeverzeichnis für die Verarbeitung nachfolgender .pro-Dateien.
-pro-debugVerarbeitung von .pro-Dateien protokollieren. Für ausführlichere Protokolle zweimal angeben.
-source-language <language>[_<region>]Geben Sie die Sprache der Quellzeichenfolgen für neue Dateien an. Standardmäßig wird POSIX verwendet, sofern keine Angabe erfolgt.
-target-language <language>[_<region>]Gibt die Sprache der Übersetzungen für neue Dateien an. Wenn Sie keine Sprache angeben, ermittelt „ lupdate “ diese anhand des Dateinamens.
-tr-function-alias <function>{+=,=}<alias>[,<function>{+=,=}<alias>]...Mit „ += “ wird „ <alias> “ als alternative Schreibweise von „ <function> “ erkannt. Mit „ =, “ wird „ <alias> “ als einzige Schreibweise von „ <function> “ erkannt.

Verfügbare Werte für „ <function> “ (mit ihren derzeit definierten Aliasen) sind:

  • Q_DECLARE_TR_FUNCTIONS (=Q_DECLARE_TR_FUNCTIONS)
  • QT_TR_N_NOOP (=QT_TR_N_NOOP)
  • QT_TRID_N_NOOP (=QT_TRID_N_NOOP)
  • QT_TRANSLATE_N_NOOP (=QT_TRANSLATE_N_NOOP)
  • QT_TRANSLATE_N_NOOP3 (=QT_TRANSLATE_N_NOOP3)
  • QT_TR_NOOP (=QT_TR_NOOP)
  • QT_TRID_NOOP (=QT_TRID_NOOP)
  • QT_TRANSLATE_NOOP (=QT_TRANSLATE_NOOP)
  • QT_TRANSLATE_NOOP3 (=QT_TRANSLATE_NOOP3)
  • QT_TR_NOOP_UTF8 (=QT_TR_NOOP_UTF8)
  • QT_TRANSLATE_NOOP_UTF8 (=QT_TRANSLATE_NOOP_UTF8)
  • QT_TRANSLATE_NOOP3_UTF8 (=QT_TRANSLATE_NOOP3_UTF8)
  • findMessage (=findMessage)
  • qtTrId (=qtTrId)
  • tr (=tr)
  • trUtf8 (=trUtf8)
  • translate (=translate)
  • qsTr (=qsTr)
  • qsTrId (=qsTrId)
  • qsTranslate (=qsTranslate)
-ts <ts-file>...Geben Sie die Ausgabedateien an. Dies überschreibt „ TRANSLATIONS “.
-versionZeigt die Version von „ lupdate “ an und beendet das Programm.

Beispiele

Verwendung von lupdate mit CMake

Wenn Sie mit CMake kompilieren, fügen Sie mithilfe von CMake-Befehlen Übersetzungen für die Ziele in die Datei „CMakeLists.txt“ ein und kompilieren Sie anschließend die Ziele.

Wählen Sie eine der folgenden Optionen aus:

Erstellen Sie ein Ziel (z. B. „ app_lupdate “), um die zugehörigen .ts-Dateien zu aktualisieren. Um die .ts-Dateien für alle Ziele zu aktualisieren, erstellen Sie das Ziel „ update_translations “.

Verwendung von „lupdate“ mit „qmake“

So generieren Sie eine Übersetzungsdatei für eine einzelne QML-Datei:

lupdate main.qml -ts main_en.ts

Um eine Übersetzungsdatei für eine andere Sprache, zum Beispiel Französisch, zu erstellen, kopieren Sie „main_en.ts“ als „main_fr.ts“ und übersetzen Sie die Zeichenfolgen in der französischen TS-Datei.

lupdate verarbeitet QML-Dateien, die in der Datei „ .qrc “ aufgeführt sind:

RESOURCES += qml.qrc

So lassen Sie alle QML-Dateien von „ lupdate “ verarbeiten:

lupdate application.qrc -ts myapp_en.ts

So lassen Sie alle QML-Dateien im aktuellen Arbeitsverzeichnis (oder dessen Unterordnern) verarbeiten, ohne eine „ .qrc “-Datei zu verwenden:

lupdate . -extensions qml -ts myapp_en.ts

So suchen Sie nach übersetzbaren Zeichenfolgen sowohl in QML- als auch in C++-Quelldateien:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts

So generieren Sie .ts-Dateien für Englisch und Französisch, ohne die Sprachen in der Projektdatei anzugeben:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts myapp_fr.ts

Geben Sie die TS-Dateien an den Übersetzer weiter, der „ Qt Linguist “ verwendet, um die Dateien zu lesen und die Übersetzungen einzufügen.

Dateien im XLIFF-Format

Das TS-Dateiformat ist ein einfaches, für Menschen lesbares XML-Format, das Sie mit Versionskontrollsystemen verwenden können. Darüber hinaus kann lupdate Dateien im Localization Interchange File Format (XLIFF) verarbeiten (.xlf).

Hinweis: Derzeit werdennur die XLIFF-Versionen 1.1 und 1.2 unterstützt.

Sie können XLIFF-Dateien in „ Qt Linguist “ öffnen und bearbeiten.

© 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.