Utilisation de lcheck
L'outil en ligne de commande « lcheck » valide les fichiers de traduction d'TS s Qt XML et génère un rapport lisible par l'utilisateur. Il fait partie de la chaîne d'outils « Qt Linguist » et est destiné à une utilisation par lots ou dans le cadre d'un processus d'intégration continue (CI) afin de détecter rapidement les problèmes courants de localisation. Par défaut, « lcheck » exécute une série de vérifications et renvoie un code de sortie différent de zéro si au moins une vérification activée échoue.
Les contrôles par défaut sont les suivants :
- Contrôledes accélérateurs — Vérifie que le nombre d’ampères (mnémoniques) dans le texte source et la traduction correspond.
- Vérification des espacesde début et de fin — Vérifie que les espaces de début et de fin du texte source et de la traduction correspondent.
- Vérification de la ponctuationfinale — Vérifie que le texte source et la traduction se terminent par la même ponctuation.
- Vérification des marqueursde position — Vérifie la cohérence dans l’utilisation de
%1,%2, etc., entre le texte source et la traduction.
Chaque vérification peut être désactivée individuellement à l’aide d’options de ligne de commande.
Syntaxe de lcheck
lcheck [options] -o report-output-file ts-file
lcheck [options] ts-fileOù :
optionsdésigne une ou plusieurs options de lcheck.ts-filecorrespond au fichier «TS» à valider.report-output-filecorrespond au chemin d'accès du fichier dans lequel le rapport doit être écrit. S'il est omis, le rapport est écrit dans le flux d'erreurs standard.
Pour consulter l'aide la plus récente, saisissez :
lcheck -helplcheck options
| Option | Action |
|---|---|
-help | Affiche les informations d'aide à jour et quitte le programme. |
-no-accelerator | Désactiver la vérification de cohérence de l'accélérateur (et). |
-no-punctuation | Désactiver la vérification de cohérence de la ponctuation finale. |
-no-place-marker | Désactiver la vérification garantissant que les expressions « %1 », « %2 », etc. sont utilisées de manière cohérente entre le texte source et la traduction. |
-no-whitespaces | Désactiver la vérification de cohérence des espaces autour des caractères. |
-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> | Enregistrer le rapport de validation dans <outfile>. Si ce chemin n’est pas spécifié, le rapport est écrit dans le flux d’erreurs standard. |
-version | Afficher la version d’ lcheck et quitter. |
Remarque : le statut de sortiedu processus est différent de zéro si l'une des vérifications activées échoue. Cela rend lcheck adapté à une utilisation dans des pipelines d'intégration continue (CI).
Exemples
Écrire un rapport dans un fichier
lcheck -o lcheck_report.txt translations/myapp_de.tsDésactiver les contrôles sélectionnés
La commande suivante exécute toutes les vérifications, à l'exception de celles concernant les accélérateurs et la ponctuation :
lcheck -no-accelerator -no-punctuation translations/myapp_de.tsVérifier également les traductions terminées
lcheck -check-finished translations/myapp_de.tsUtilisez lcheck dans une étape de CI
lcheck translations/myapp_de.ts && echo "Translations OK" || echo "Issues found"Utilisation de lcheck avec CMake
Pour appeler lcheck lors de la configuration ou de la compilation de votre projet CMake, chargez le paquet 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 génère un rapport à côté des artefacts de compilation.
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 de 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.