Auf dieser Seite

Verwendung von lcheck

Das Befehlszeilentool „ lcheck “ validiert Qt- TS -Übersetzungsdateien und erstellt einen für Menschen lesbaren Bericht. Es ist Teil der „ Qt Linguist “-Toolchain und für den Batch- oder CI-Einsatz vorgesehen, um häufige Lokalisierungsprobleme frühzeitig zu erkennen. Standardmäßig führt „ lcheck “ eine Reihe von Prüfungen durch und gibt einen Exit-Code ungleich Null zurück, wenn mindestens eine aktivierte Prüfung fehlschlägt.

Die Standardprüfungen sind:

  • Accelerator-Prüfung – Überprüft, ob die Anzahl der Und-Zeichen (Mnemonics) in Quelle und Übersetzung übereinstimmt.
  • Prüfung derumgebenden Leerzeichen – Überprüft, ob die führenden und nachfolgenden Leerzeichen in Quelle und Übersetzung übereinstimmen.
  • Prüfung derabschließenden Interpunktion – Es wird überprüft, ob Originaltext und Übersetzung mit derselben Interpunktion enden.
  • Prüfungder Platzhalter – Es wird überprüft, ob „ %1 “, „ %2 “ usw. in Originaltext und Übersetzung einheitlich verwendet werden.

Jede Prüfung kann einzeln über Befehlszeilenoptionen deaktiviert werden.

lcheck-Syntax

lcheck [options] -o report-output-file ts-file
lcheck [options] ts-file

Dabei gilt:

  • options steht für eine oder mehrere lcheck-Optionen.
  • ts-file ist die zu validierende „ TS “-Datei.
  • report-output-file ist der Pfad der Datei, in die der Bericht geschrieben werden soll. Wird dieser weggelassen, wird der Bericht in den Standard-Fehlerstrom geschrieben.

Um die aktuelle Hilfe anzuzeigen, geben Sie Folgendes ein:

lcheck -help

lcheck options

OptionAktion
-helpAktuelle Hilfeinformationen anzeigen und das Programm beenden.
-no-acceleratorDeaktivieren Sie die Konsistenzprüfung für den Akzelerator (Ampersand).
-no-punctuationDeaktivieren Sie die Konsistenzprüfung für Schlusszeichen.
-no-place-markerDeaktivieren Sie die Prüfung, die sicherstellt, dass „ %1 “, „ %2 “ usw. in der Ausgangs- und der Übersetzungssprache einheitlich verwendet werden.
-no-whitespacesDeaktivieren Sie die Konsistenzprüfung der umgebenden Leerzeichen.
-check-finishedAuch als „fertig“ markierte Nachrichten prüfen. Standardmäßig werden fertige Übersetzungen nicht geprüft.
-o <outfile>Schreiben Sie den Validierungsbericht in die Datei „ <outfile> “. Wenn nichts angegeben ist, wird der Bericht in die Standardfehlerausgabe geschrieben.
-versionZeige die Version von „ lcheck “ an und beende das Programm.

Hinweis: Der Beendigungsstatusdes Prozesses ist ungleich Null, wenn eine der aktivierten Prüfungen fehlschlägt. Dadurch eignet sich „ lcheck “ für den Einsatz in CI-Pipelines.

Beispiele

Einen Bericht in eine Datei schreiben

lcheck -o lcheck_report.txt translations/myapp_de.ts

Ausgewählte Prüfungen deaktivieren

Der folgende Befehl führt alle Prüfungen außer „Beschleuniger“ und „Zeichensetzung“ durch:

lcheck -no-accelerator -no-punctuation translations/myapp_de.ts

Auch fertige Übersetzungen prüfen

lcheck -check-finished translations/myapp_de.ts

Verwenden Sie „lcheck“ in einem CI-Schritt

lcheck translations/myapp_de.ts && echo "Translations OK" || echo "Issues found"

Verwendung von lcheck mit CMake

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

Das folgende Beispiel fügt ein benutzerdefiniertes Ziel „ check_translations “ hinzu, das „ lcheck “ auf eine TS-Datei anwendet und einen Bericht neben den Build-Artefakten erstellt.

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

add_custom_command(
    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
    COMMAND $<TARGET_FILE:Qt6::lcheck>
            -o "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
            "${CMAKE_CURRENT_SOURCE_DIR}/translations/myapp_de.ts"
    DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/translations/myapp_de.ts"
    VERBATIM
)

add_custom_target(check_translations
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
)

Verwendung von `lcheck` mit `qmake`

Sie können „ lcheck “ direkt auf eine TS-Datei anwenden, ohne eine Projektdatei anzugeben:

lcheck translations/myapp_de.ts

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