lupdate verwenden
Das Befehlszeilentool lupdate
findet übersetzbare Zeichenfolgen in C++-Quelltexten, C++-Headern, Java-, Python-, QML- und UI-Dateien und erzeugt oder aktualisiert TS-Dateien.
Wenn Sie mit qmake bauen, geben Sie die zu verarbeitenden Dateien an der Kommandozeile oder in einer .pro-Datei an.
Bei der Erstellung mit CMake verwenden Sie CMake-Befehle, um Ziele hinzuzufügen, die TS-Dateien erstellen oder aktualisieren und sie in QM-Dateien umwandeln. Das Werkzeug lupdate
wird mit den Optionen ausgeführt, die Sie den Befehlen übergeben, wenn Sie das Ziel erstellen.
Weitere Informationen zur Angabe 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
Wo:
options
eine oder mehrere Lupdate-Optionen bedeutet.project-file
ist die Projektkonfigurationsdatei.source-file
ist eine Datei, die übersetzbare Zeichenketten enthält.path
ist der Pfad zu einem Ordner, der Übersetzungsquelldateien enthält.@lst-file
liest zusätzliche Dateinamen (einen pro Zeile) oder Includepfade (einen pro Zeile und mit-I
vorangestellt) aus lst-file.ts-files
sind die zu erzeugenden oder zu aktualisierenden TS-Dateien.
Um die neueste Hilfe zu sehen, geben Sie ein:
lupdate -help
lupdate Optionen
Option | Aktion |
---|---|
-help | Aktuelle Hilfeinformationen anzeigen und beenden. |
-no-obsolete | Alle veralteten und verschwundenen Zeichenketten löschen. |
-extensions <ext>[,<ext>]... | Verarbeitet nur Dateien mit den angegebenen Erweiterungen. Verwenden Sie Kommas, um Erweiterungen in der Liste zu trennen. Verwenden Sie keine Leerzeichen. Der Standardwert ist: java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml,qrc . |
-pluralonly | Geben Sie nur Meldungen in der Pluralform an. |
-silent | Erläutern Sie nicht, was getan wird. |
-no-sort | Sortieren Sie keine Kontexte in TS-Dateien. |
-no-recursive | Verzeichnisse nicht rekursiv durchsuchen. |
-recursive | Verzeichnisse rekursiv durchsuchen (Voreinstellung). |
-I <includepath> or -I<includepath> | Suchen Sie nach Include-Dateien an diesem zusätzlichen Ort. Sie können mehrere Pfade angeben. |
-locations {absolute|relative|none} | Spezifizieren oder überschreiben Sie die Art und Weise, wie Quellcode-Referenzen in TS-Dateien gespeichert werden sollen.
Wenn Sie den Ort nicht angeben, ermittelt |
-no-ui-lines | Zeichnen Sie keine Zeilennummern in Verweisen auf UI-Dateien auf. |
-disable-heuristic {sametext|similartext} | Deaktiviert die benannte Zusammenführungsheuristik. Kann mehrfach angegeben werden. |
-project <filename> | Name einer Datei, die die Beschreibung des Projekts im JSON-Format enthält. Sie können das Tool lprodump verwenden, um die Datei aus einer .pro-Datei zu erzeugen. |
-pro <filename> | Name einer .pro-Datei. Nützlich für Dateien mit der Dateisyntax .pro, aber einer anderen Dateiendung. Projekte werden rekursiert und zusammengeführt. Diese Option ist veraltet. Verwenden Sie stattdessen das Werkzeug lupdate-pro . |
-pro-out <directory> | Virtuelles Ausgabeverzeichnis für die Verarbeitung nachfolgender .pro-Dateien. |
-pro-debug | Trace-Verarbeitung von .pro-Dateien. Geben Sie zweimal an, um die Ausführlichkeit zu erhöhen. |
-source-language <language>[_<region>] | Geben Sie die Sprache der Quellzeichenketten für neue Dateien an. Standardeinstellung ist POSIX, wenn nicht angegeben. |
-target-language <language>[_<region>] | Geben Sie die Sprache der Übersetzungen für neue Dateien an. Wenn Sie die Sprache nicht angeben, ermittelt lupdate sie aus dem Dateinamen. |
-tr-function-alias <function>{+=,=}<alias>[,<function>{+=,=}<alias>]... | Mit += erkennen Sie <alias> als alternative Schreibweise von <function> . Mit =, erkennen Sie <alias> als einzige Schreibweise von <function> .Verfügbare
|
-ts <ts-file>... | Geben Sie die Ausgabedateien an. Dies hat Vorrang vor TRANSLATIONS . |
-version | Zeigt die Version von lupdate an und beendet das Programm. |
-clang-parser [compilation-database-dir] | Verwenden Sie Clang zum Parsen von .cpp-Dateien. Andernfalls verwenden Sie einen eigenen Parser. Diese Option benötigt eine Clang-Kompilierungsdatenbank (compile_commands.json ) für die zu parsenden Dateien. Geben Sie den Pfad zu dem Verzeichnis, das diese Datei enthält, auf der Befehlszeile, direkt nach der Option -clang-parser oder in der Projektdatei an.Wenn Sie qmake verwenden, setzen Sie die Variable Ein in der Befehlszeile angegebenes Verzeichnis hat Vorrang. Wenn Sie keinen Pfad angeben, sucht |
-project-roots <directory>... | Geben Sie ein oder mehrere Projektstammverzeichnisse an. Bei Verwendung der Option -clang-parser werden nur Dateien unterhalb eines Projektstamms für die Übersetzung berücksichtigt. |
Beispiele
Verwendung von lupdate mit CMake
Wenn Sie mit CMake bauen, verwenden Sie CMake-Befehle, um der Datei CMakeLists.txt Übersetzungen für Ziele hinzuzufügen, und bauen Sie dann die Ziele.
Wählen Sie eine der folgenden Optionen:
- Verwenden Sie qt_add_translations für ein Ziel, wie z.B. app. Dies ruft qt_add_lupdate und qt_add_lrelease auf.
- Verwenden Sie
qt_add_lupdate
für ein Ziel.
Erstellen Sie ein Ziel (z. B. app_lupdate
), um die .ts-Dateien für dieses Ziel zu aktualisieren. Um die .ts-Dateien für alle Targets zu aktualisieren, erstellen Sie das Target update_translations
.
Verwendung von lupdate mit qmake
Um eine Übersetzungsdatei für eine einzelne QML-Datei zu erzeugen:
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 nach main_fr.ts und übersetzen Sie die Strings in der französischen TS-Datei.
lupdate
verarbeitet QML-Dateien, die in der Datei .qrc
aufgeführt sind:
RESOURCES += qml.qrc
Um alle QML-Dateien von lupdate
verarbeiten zu lassen:
lupdate application.qrc -ts myapp_en.ts
Um alle QML-Dateien im aktuellen Arbeitsverzeichnis (oder seinen Unterordnern) zu verarbeiten, ohne eine .qrc
Datei zu verwenden:
lupdate . -extensions qml -ts myapp_en.ts
Prüfung auf übersetzbare Zeichenfolgen in QML- und C++-Quelldateien:
lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts
Um .ts-Dateien zu erzeugen, die für Englisch und Französisch verwendet werden, 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, von Menschen lesbares XML-Format, das Sie mit Versionskontrollsystemen verwenden können. Darüber hinaus kann lupdate
auch XLIFF-Dateien (Localization Interchange File Format) verarbeiten (.xlf
).
Hinweis: Derzeit werden nur die XLIFF-Versionen 1.1 und 1.2 unterstützt.
Sie können XLIFF-Dateien in Qt Linguist öffnen und bearbeiten.
© 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.