Uso de lcheck
La herramienta de línea de comandos lcheck valida los archivos de traducción de Qt TS y genera un informe legible por humanos. Forma parte de la cadena de herramientas de Qt Linguist y está pensada para su uso por lotes o CI con el fin de detectar a tiempo problemas comunes de localización. Por defecto, lcheck ejecuta un conjunto de comprobaciones y devuelve un código de salida distinto de cero si falla al menos una de las comprobaciones activadas.
Las comprobaciones por defecto son:
- Comprobacióndel acelerador: comprueba que el número de ampersands (mnemónicos) en el código fuente y en la traducción coincide.
- Comprobaciónde los espacios en blanco circundantes - Verifica que los espacios en blanco iniciales y finales de la fuente y la traducción coinciden.
- Comprobación de la puntuaciónfinal: comprueba que el texto original y la traducción terminan con la misma puntuación.
- Comprobación de marcador deposición - Verifica el uso coherente de
%1,%2, etc., entre la fuente y la traducción.
Cada comprobación puede desactivarse individualmente mediante las opciones de la línea de comandos.
Sintaxis de lcheck
lcheck [options] -o report-output-file ts-file lcheck [options] ts-file
Donde:
optionssignifica una o varias opciones de lcheck.ts-filees el archivoTSa validar.report-output-filees la ruta del archivo en el que se escribirá el informe. Si se omite, el informe se escribe en el flujo de error estándar.
Para ver la última ayuda, introduzca:
lcheck -help
lcheck opciones
| Opción | Acción |
|---|---|
-help | Mostrar información de ayuda actualizada y salir. |
-no-accelerator | Desactivar la comprobación de consistencia del acelerador (ampersand). |
-no-punctuation | Desactivar la comprobación de coherencia de la puntuación final. |
-no-place-marker | Desactivar la comprobación que asegura que %1, %2, ... se utilizan de forma consistente entre el código fuente y la traducción. |
-no-whitespaces | Desactivar la comprobación de coherencia de los espacios en blanco circundantes. |
-check-finished | Compruebe también los mensajes marcados como finalizados. Por defecto, las traducciones finalizadas no se comprueban. |
-o <outfile> | Escribir el informe de validación en <outfile>. Si no se especifica, el informe se escribe en el error estándar. |
-version | Mostrar la versión de lcheck y salir. |
Nota: El estado de salida del proceso es distinto de cero si falla alguna de las comprobaciones habilitadas. Esto hace que lcheck sea adecuado para su uso en procesos CI.
Ejemplos
Escribir un informe en un archivo
lcheck -o lcheck_report.txt translations/myapp_de.ts
Desactivar controles seleccionados
El siguiente comando ejecuta todas las comprobaciones excepto las de acelerador y puntuación:
lcheck -no-accelerator -no-punctuation translations/myapp_de.ts
Comprueba también las traducciones terminadas
lcheck -check-finished translations/myapp_de.ts
Utilizar lcheck en un paso de CI
lcheck translations/myapp_de.ts && echo "Translations OK" || echo "Issues found"
Uso de lcheck con CMake
Para llamar a lcheck al configurar o construir su proyecto CMake, cargue el paquete Qt6LinguistTools y utilice $<TARGET_FILE:Qt6::lcheck> para localizar el ejecutable lcheck.
El siguiente ejemplo añade un objetivo personalizado check_translations que ejecuta lcheck sobre un archivo TS y escribe un informe junto a los artefactos de construcción.
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"
)Uso de lcheck con qmake
Puede ejecutar lcheck directamente sobre un archivo TS sin especificar un archivo de proyecto:
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.