Auf dieser Seite

Verwendung von lcheck

Das Kommandozeilenwerkzeug lcheck validiert Qt TS Übersetzungsdateien und erstellt einen von Menschen lesbaren Bericht. Es ist Teil der Qt Linguist Toolchain und ist für den Batch- oder CI-Einsatz gedacht, 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 check - Überprüft, ob die Anzahl der Ampersands (Mnemonics) in Quelle und Übersetzung übereinstimmen.
  • Prüfung der Leerzeichen -Überprüft, ob die Leerzeichen am Anfang und am Ende des Quelltextes und der Übersetzung übereinstimmen.
  • Prüfung derabschließenden Interpunktion - prüft, ob Quelle und Übersetzung mit der gleichen Interpunktion enden.
  • Prüfung derPlatzhalter - Überprüft die einheitliche Verwendung von %1, %2, usw. in Quelle und Übersetzung.

Jede Prüfung kann einzeln mit Hilfe von Befehlszeilenoptionen deaktiviert werden.

lcheck-Syntax

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

Wo:

  • options eine oder mehrere lcheck-Optionen bedeutet.
  • ts-file ist die zu prüfende Datei TS.
  • report-output-file ist der Pfad der Datei, in die der Bericht geschrieben werden soll. Wenn keine Angabe gemacht wird, wird der Bericht in den Standardfehlerstrom geschrieben.

Um die neueste Hilfe anzuzeigen, geben Sie ein:

lcheck -help

lcheck optionen

OptionAktion
-helpAktuelle Hilfeinformationen anzeigen und beenden.
-no-acceleratorDie Konsistenzprüfung für Akzeleratoren (Ampersand) deaktivieren.
-no-punctuationDeaktivieren Sie die Konsistenzprüfung für endende Interpunktion.
-no-place-markerDeaktivieren Sie die Prüfung, die sicherstellt, dass %1, %2, ... konsistent zwischen Quelle und Übersetzung verwendet werden.
-no-whitespacesDeaktivieren Sie die Konsistenzprüfung für umgebenden Whitespace.
-check-finishedPrüfen Sie auch Nachrichten, die als fertiggestellt markiert sind. Standardmäßig werden fertige Übersetzungen nicht geprüft.
-o <outfile>Schreiben Sie den Validierungsbericht nach <outfile>. Wenn nicht angegeben, wird der Bericht in den Standardfehler geschrieben.
-versionZeigt die Version von lcheck an und beendet sich.

Hinweis: Der Exit-Status des Prozesses ist ungleich Null, wenn eine aktivierte Prüfung fehlschlägt. Dadurch ist lcheck für die Verwendung in CI-Pipelines geeignet.

Beispiele

Einen Bericht in eine Datei schreiben

lcheck -o lcheck_report.txt translations/myapp_de.ts

Ausgewählte Prüfungen deaktivieren

Mit dem folgenden Befehl werden alle Prüfungen mit Ausnahme der Beschleunigungsprüfung und der Interpunktionsprüfung ausgeführt:

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

Auch fertige Übersetzungen prüfen

lcheck -check-finished translations/myapp_de.ts

lcheck in einem CI-Schritt verwenden

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

Verwendung von lcheck mit CMake

Um lcheck aufzurufen, wenn Sie Ihr CMake-Projekt konfigurieren oder bauen, 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 über eine TS-Datei ausführt und einen Bericht neben den Build-Artefakten schreibt.

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 einer TS-Datei ausführen, 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.