Auf dieser Seite

Verwendung von lconvert

Das Befehlszeilentool „ lconvert “ filtert und konvertiert Übersetzungsdateien.

Es unterstützt die folgenden Dateiformate:

  • pot - GNU-Gettext-Lokalisierungsvorlagendateien
  • qph - „ Qt Linguist “-Phrasenbuch
  • ts - Qt-Übersetzungsquellen
  • po - GNU-Gettext-Lokalisierungsdateien
  • qm - Kompilierte Qt-Übersetzungen
  • xlf - XLIFF-Lokalisierungsdateien

lconvert-Syntax

lconvert [options] <infile> [<infile>...]

Wobei:

  • options eine oder mehrere lconvert-Optionen bezeichnet.
  • infile ist eine Eingabedatei. Sie können mehrere Eingabedateien angeben.

Wenn Sie mehrere Eingabedateien angeben, werden diese zusammengeführt, wobei Übersetzungen aus späteren Dateien Vorrang haben.

Um die aktuelle „ lconvert “-Hilfe anzuzeigen, geben Sie Folgendes ein:

lconvert -help

lconvert-Optionen

OptionAktion
-h
-help
Display up-to-date help information and exit.
-i <infile>
-input-file <infile>
Specify an input file. Use this option if <infile> starts with a dash. Use this option several times to merge inputs. May be - (standard input) for use in a pipe.
-o <outfile>
-output-file <outfile>
Specify an output file. Default is - (standard output).
-if <informat>
-input-format <format>
Specify input format for subsequent input files. The format is auto-detected from the file name and defaults to ts.
-of <outformat>
-output-format <outformat>
Specify output format. See -if.
-drop-tags <regexp>Beim Schreiben von „ TS “- oder „ XLIFF “-Dateien werden benannte zusätzliche Tags entfernt. Diese Option kann mehrfach angegeben werden.
-drop-translationsBestehende Übersetzungen werden verworfen und der Status auf „ unfinished “ zurückgesetzt. Dies impliziert „ --no-obsolete “.
-source-language <language>[_<region>]Die Sprache der Quellzeichenfolgen festlegen bzw. überschreiben. Die Standardeinstellung ist „POSIX“, sofern keine Angabe erfolgt und die Datei die Sprache noch nicht benannt hat.
-target-language <language>[_<region>]Die Sprache der Übersetzung festlegen oder überschreiben. Standardmäßig wird die Zielsprache aus dem Dateiinhalt ausgelesen oder anhand des Dateinamens erraten.
-no-obsoleteVeraltete Meldungen unterdrücken.
-no-finishedFertiggestellte Meldungen verwerfen.
-no-untranslatedEntferne nicht übersetzte Meldungen.
-sort-contextsKontexte in der Ausgabedatei „ TS “ alphabetisch sortieren.
-sort-messagesMeldungen in einem Kontext in den „ TS “-Dateien alphabetisch sortieren.
-locations {absolute|relative|none}Überschreiben Sie die Art und Weise, wie Quellcode-Verweise in den „ TS “-Dateien gespeichert werden. Die Standardeinstellung lautet „ absolute “.
-no-ui-linesZeilennummern aus Verweisen auf „ UI “-Dateien entfernen.
-pluralonlyMeldungen in Nicht-Pluralform entfernen.
-verboseErläutere, was gerade geschieht.

Beispiele

TS-Datei in XLIFF konvertieren

Um eine einzelne TS-Datei in XLIFF zu konvertieren, führen Sie im Terminal den folgenden Befehl aus:

lconvert -o myapp_de.xlf myapp_de.ts

Mehrere QM-Dateien zusammenführen

Der folgende Befehl führt mehrere QM-Dateien zu einer „ full_de.qm “-Datei zusammen:

lconvert -o full_de.qm qtbase_de.qm myapp_de.qm mylib_de.qm

Verwendung von „lconvert“ mit CMake

Um „ lconvert “ beim Konfigurieren oder Erstellen Ihres CMake-Projekts aufzurufen, laden Sie das Paket „ Qt6LinguistTools “ und verwenden Sie „ $<TARGET_FILE_NAME:Qt6::lconvert> “, um die ausführbare Datei „ lconvert “ zu finden.

Das folgende Beispiel fügt ein benutzerdefiniertes Ziel „ xlf_de “ hinzu, das eine einzelne TS-Datei in das XLIFF-Format konvertiert.

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

add_custom_command(
    OUTPUT myapp_de.xlf
    COMMAND $<TARGET_FILE:Qt6::lconvert> -o myapp_de.xlf myapp_de.ts
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.ts"
    VERBATIM
)

add_custom_target(xlf_de
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.xlf"
)

PO-formatspezifische Optionen

Bei der Konvertierung ins PO-Format können Sie den automatischen Zeilenumbruch deaktivieren, indem Sie das Flag „ no-wrap “ im zusätzlichen Metadatenfeld „ po-flags “ setzen. Standardmäßig werden Zeilen, die länger als 79 Zeichen sind, umgebrochen. Setzen Sie dieses Feld im Quellcode mithilfe der Meta-Zeichenkette „//~“ (zum Beispiel „ //~ po-flags no-wrap “) oder direkt in TS-Dateien mithilfe des Elements „ <extra-po-flags> “.

Andere PO-Flags (siehe die GNU-gettext-Dokumentation) bleiben bei der Konvertierung zwischen den Formaten TS und PO erhalten, haben jedoch keinen Einfluss auf die Verarbeitung von „ lconvert “.

Hinweis: Die po-flags -Metadaten bleiben nur bei einer direkten Konvertierung vom TS- ins PO-Format erhalten.

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