En esta página

qt_add_lupdate

Añade objetivos para generar o actualizar archivos .ts de Qt Linguist.

El comando está definido en el componente LinguistTools del paquete Qt6. Carga el paquete con:

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

Este comando se introdujo en Qt 6.2.

Sinopsis

Desde 6.7:

qt_add_lupdate(TS_FILES file1.ts [file2.ts ...]
               [PLURALS_TS_FILE file.ts]
               [SOURCE_TARGETS target1 [target2 ...]]
               [SOURCES source1.cpp [sources2.cpp ...]]
               [INCLUDE_DIRECTORIES directory1 [directory2 ...]]
               [LUPDATE_TARGET target-name]
               [NO_GLOBAL_TARGET]
               [OPTIONS ...])

Desde 6.2 (obsoleto):

qt_add_lupdate(target TS_FILES file1.ts [file2.ts ...]
               [SOURCES source1.cpp [sources2.cpp ...]]
               [INCLUDE_DIRECTORIES directory1 [directory2 ...]]
               [NO_GLOBAL_TARGET]
               [OPTIONS ...])

Si los comandos versionless están deshabilitados, utilice qt6_add_lupdate() en su lugar. Admite el mismo conjunto de argumentos que este comando.

Descripción

Crea un objetivo personalizado para generar o actualizar archivos Qt Linguist .ts con lupdate.

El nombre de ese objetivo personalizado es, por defecto, ${PROJECT_NAME}_lupdate. Las siguientes llamadas a qt_add_lupdate crearán nombres de destino con un número creciente añadido. El nombre del objetivo personalizado puede especificarse con la opción LUPDATE_TARGET.

Con el argumento SOURCE_TARGETS puede especificar una lista de objetivos que contengan fuentes con cadenas traducibles. Si no se especifica SOURCE_TARGETS, se puede especificar SOURCES, que se describe a continuación. Si no se especifica SOURCE_TARGETS ni SOURCES, se llama al comando qt_collect_translation_source_targets para recuperar la lista de objetivos.

Los archivos .ts deben especificarse con el argumento TS_FILES.

Esta función está diseñada para utilizarse junto con qt_add_lrelease. Véase también el práctico wrapper qt_add_translations.

Fuentes y directorios de inclusión

Con SOURCES puede especificar explícitamente archivos fuente adicionales que contengan cadenas traducibles.

Puede utilizar INCLUDE_DIRECTORIES para especificar explícitamente directorios de inclusión para esos archivos fuente.

Opciones

Puede establecer opciones adicionales en OPTIONS que se pasarán cuando se invoque a lupdate. Puede encontrar las posibles opciones en la documentación de lupdate.

Objetivo paraguas

Además del objetivo ${target}_lupdate, se crea un objetivo paraguas update_translations. Este objetivo creará todos los objetivos ${target}_lupdate que se crearon con qt_add_lupdate.

Pase NO_GLOBAL_TARGET a qt_add_lupdate para evitar este comportamiento.

El nombre de este objetivo se puede anular estableciendo la variable QT_GLOBAL_LUPDATE_TARGET antes de llamar a qt_add_lupdate.

Formas plurales

QT_I18N_SOURCE_LANGUAGE especifica el lenguaje en el que están escritas las cadenas del código fuente. Para manejar correctamente las formas plurales, cree un archivo .ts adicional para ese idioma que sólo contenga cadenas traducibles para formas plurales. Consulte Manejo de formas plurales para más detalles.

Con PLURALS_TS_FILE puede especificar el archivo .ts para el idioma de origen. Este archivo sólo contendrá formas plurales.

Firma de comando obsoleta

Las versiones anteriores de qt_add_lupdate tomaban un objetivo como primer argumento. Esto está obsoleto. Utilice en su lugar el argumento SOURCE_TARGETS.

Ejemplos

Añade los objetivos myapp_lupdate y update_translations para actualizar el archivo .ts de una aplicación myapp.

qt_add_lupdate(
    SOURCE_TARGETS myapp
    TS_FILES myapp_de.ts
    PLURALS_TS_FILE myapp_en.ts
)

Puede especificar el nombre del objetivo creado pasando el argumento LUPDATE_TARGET:

qt_add_lupdate(
    LUPDATE_TARGET update_application_translations
    TS_FILES myapp_de.ts
    PLURALS_TS_FILE myapp_en.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.