Utilisation de lcheck
L'outil de ligne de commande lcheck valide les fichiers de traduction de Qt TS et produit un rapport lisible par l'homme. Il fait partie de la chaîne d'outils Qt Linguist et est destiné à une utilisation par lots ou en CI afin de détecter rapidement les problèmes de localisation les plus courants. Par défaut, lcheck exécute un ensemble de vérifications et renvoie un code de sortie non nul si au moins une des vérifications activées échoue.
Les vérifications par défaut sont les suivantes :
- Vérification de l'accélérateur - Vérifie que le nombre d'esperluettes (mnémoniques) dans la source et la traduction correspondent.
- Vérification des espaces blancsenvironnants - Vérifie que les espaces blancs d'entrée et de sortie de la source et de la traduction correspondent.
- Vérification de la ponctuationfinale - Vérifie que la source et la traduction se terminent par la même ponctuation.
- Vérification des marqueurs delieu - Vérifie l'utilisation cohérente de
%1,%2, et ainsi de suite, entre la source et la traduction.
Chaque vérification peut être désactivée individuellement à l'aide des options de la ligne de commande.
Syntaxe de lcheck
lcheck [options] -o report-output-file ts-file lcheck [options] ts-file
Où :
optionsdésigne une ou plusieurs options de lcheck.ts-fileest le fichierTSà valider.report-output-fileest le chemin du fichier dans lequel le rapport doit être écrit. S'il est omis, le rapport est écrit dans le flux d'erreur standard.
Pour afficher l'aide la plus récente, entrez :
lcheck -help
lcheck options
| Option | Action |
|---|---|
-help | Affiche des informations d'aide à jour et quitte. |
-no-accelerator | Désactiver le contrôle de cohérence de l'accélérateur (esperluette). |
-no-punctuation | Désactiver le contrôle de cohérence de la ponctuation finale. |
-no-place-marker | Désactiver le contrôle qui garantit que %1, %2, ... sont utilisés de manière cohérente entre la source et la traduction. |
-no-whitespaces | Désactivez le contrôle de cohérence de l'espace blanc environnant. |
-check-finished | Vérifier également les messages marqués comme terminés. Par défaut, les traductions terminées ne sont pas vérifiées. |
-o <outfile> | Écrire le rapport de validation à <outfile>. Si cela n'est pas spécifié, le rapport est écrit dans l'erreur standard. |
-version | Afficher la version de lcheck et quitter. |
Remarque : l'état de sortie du processus est différent de zéro si l'une des vérifications activées échoue. Cela permet à lcheck d'être utilisé dans les pipelines de CI.
Exemples d'utilisation
Écrire un rapport dans un fichier
lcheck -o lcheck_report.txt translations/myapp_de.ts
Désactiver certains contrôles
La commande suivante exécute toutes les vérifications à l'exception de l'accélérateur et de la ponctuation :
lcheck -no-accelerator -no-punctuation translations/myapp_de.ts
Vérifier également les traductions terminées
lcheck -check-finished translations/myapp_de.ts
Utiliser lcheck dans une étape de CI
lcheck translations/myapp_de.ts && echo "Translations OK" || echo "Issues found"
Utiliser lcheck avec CMake
Pour appeler lcheck lors de la configuration ou de la construction de votre projet CMake, chargez le paquetage Qt6LinguistTools et utilisez $<TARGET_FILE:Qt6::lcheck> pour localiser l'exécutable lcheck.
L'exemple suivant ajoute une cible personnalisée check_translations qui exécute lcheck sur un fichier TS et écrit un rapport à côté des artefacts de construction.
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"
)Utilisation de lcheck avec qmake
Vous pouvez exécuter lcheck directement sur un fichier TS sans spécifier de fichier projet :
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.