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-fileWobei:
optionssteht für eine oder mehrere lupdate-Optionen.project-fileist die Projektkonfigurationsdatei.source-fileist eine Datei, die übersetzbare Zeichenfolgen enthält.pathist der Pfad zu einem Ordner, der die Quelldateien für die Übersetzung enthält.@lst-fileliest zusätzliche Dateinamen (einen pro Zeile) oder Einbindepfade (einen pro Zeile, denen „-I“ vorangestellt ist) aus der lst-Datei.ts-filessind die zu erzeugenden oder zu aktualisierenden TS-Dateien.
Um die aktuelle Hilfe anzuzeigen, geben Sie Folgendes ein:
lupdate -helplupdate options
| Option | Aktion |
|---|---|
-help | Aktuelle Hilfeinformationen anzeigen und das Programm beenden. |
-no-obsolete | Alle 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. |
-pluralonly | Nur Meldungen in Pluralform einbeziehen. |
-silent | Erläutere nicht, was gerade geschieht. |
-no-sort | Sortiere Kontexte in TS-Dateien nicht. |
-sort-messages | Sortiere Meldungen in einem Kontext in TS-Dateien alphabetisch. |
-no-recursive | Verzeichnisse nicht rekursiv durchsuchen. |
-recursive | Durchsuche Verzeichnisse rekursiv (Standard). |
-warnings-are-errors | Behandeln 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.
Wenn Sie den Speicherort nicht angeben, ermittelt „ |
-no-ui-lines | Zeilennummern 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-debug | Verarbeitung 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 „
|
-ts <ts-file>... | Geben Sie die Ausgabedateien an. Dies überschreibt „ TRANSLATIONS “. |
-version | Zeigt 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:
- Verwenden Sie `qt_add_translations` für ein Ziel, z. B. „app“. Dadurch werden `qt_add_lupdate ` und `qt_add_lrelease` aufgerufen.
- Verwenden Sie „
qt_add_lupdate“ für ein Ziel.
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.tsUm 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.qrcSo lassen Sie alle QML-Dateien von „ lupdate “ verarbeiten:
lupdate application.qrc -ts myapp_en.tsSo lassen Sie alle QML-Dateien im aktuellen Arbeitsverzeichnis (oder dessen Unterordnern) verarbeiten, ohne eine „ .qrc “-Datei zu verwenden:
lupdate . -extensions qml -ts myapp_en.tsSo suchen Sie nach übersetzbaren Zeichenfolgen sowohl in QML- als auch in C++-Quelldateien:
lupdate qml.qrc filevalidator.cpp -ts myapp_en.tsSo 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.tsGeben 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.