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:
optionseine oder mehrere lcheck-Optionen bedeutet.ts-fileist die zu prüfende DateiTS.report-output-fileist 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
| Option | Aktion |
|---|---|
-help | Aktuelle Hilfeinformationen anzeigen und beenden. |
-no-accelerator | Die Konsistenzprüfung für Akzeleratoren (Ampersand) deaktivieren. |
-no-punctuation | Deaktivieren Sie die Konsistenzprüfung für endende Interpunktion. |
-no-place-marker | Deaktivieren Sie die Prüfung, die sicherstellt, dass %1, %2, ... konsistent zwischen Quelle und Übersetzung verwendet werden. |
-no-whitespaces | Deaktivieren Sie die Konsistenzprüfung für umgebenden Whitespace. |
-check-finished | Prü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. |
-version | Zeigt 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.