En esta página

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:

  • options significa una o varias opciones de lcheck.
  • ts-file es el archivo TS a validar.
  • report-output-file es 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ónAcción
-helpMostrar información de ayuda actualizada y salir.
-no-acceleratorDesactivar la comprobación de consistencia del acelerador (ampersand).
-no-punctuationDesactivar la comprobación de coherencia de la puntuación final.
-no-place-markerDesactivar la comprobación que asegura que %1, %2, ... se utilizan de forma consistente entre el código fuente y la traducción.
-no-whitespacesDesactivar la comprobación de coherencia de los espacios en blanco circundantes.
-check-finishedCompruebe 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.
-versionMostrar 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.