En esta página

Uso de lupdate

La herramienta de línea de comandos lupdate encuentra cadenas traducibles en archivos fuente C++, de cabecera C++, Java, Python, QML y de interfaz de usuario, y genera o actualiza archivos TS.

Al compilar con qmake, especifique los archivos que desea procesar en la línea de comandos o en un archivo .pro.

Al compilar con CMake, utilice los comandos de CMake para añadir objetivos que creen o actualicen archivos TS y los transformen en archivos QM. La herramienta lupdate se ejecuta con las opciones que pases a los comandos cuando construyas el objetivo.

Para obtener más información sobre la especificación de traducciones en archivos de proyecto, consulte Localización de aplicaciones.

Sintaxis de lupdate

lupdate [options] [project-file]...
lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file

Donde:

  • options significa una o varias opciones de lupdate.
  • project-file es el fichero de configuración del proyecto.
  • source-file es un fichero que contiene cadenas traducibles.
  • path es la ruta a una carpeta que contiene archivos fuente de traducción.
  • @lst-file lee nombres de archivos adicionales (uno por línea) o includepaths (uno por línea y prefijado con -I) de lst-file.
  • ts-files son los ficheros TS a generar o actualizar.

Para ver la ayuda más reciente, introduzca:

lupdate -help

lupdate opciones

OpciónAcción
-helpMostrar información de ayuda actualizada y salir.
-no-obsoleteElimina todas las cadenas obsoletas y desaparecidas.
-extensions <ext>[,<ext>]...Procesar sólo los archivos con las extensiones dadas. Utilice comas para separar las extensiones en la lista. No utilice espacios en blanco. El valor por defecto es: java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml,qrc.
-pluralonlyIncluir sólo mensajes en plural.
-silentNo explique lo que se está haciendo.
-no-sortNo ordenar los contextos en los ficheros TS.
-sort-messagesOrdenar alfabéticamente los mensajes de un contexto en los ficheros TS.
-no-recursiveNo escanear directorios recursivamente.
-recursiveExplorar directorios recursivamente (por defecto).
-warnings-are-errorsTratar las advertencias como errores.
-I <includepath> or -I<includepath>Buscar ficheros de inclusión en esta ubicación adicional. Puede especificar varias rutas.
-locations {absolute|relative|none}Especifique o anule la forma de guardar las referencias al código fuente en los ficheros TS.
  • absolute significa que la ruta del archivo fuente es relativa al archivo destino, pero el número de línea es absoluto.
  • relative significa que la ruta del archivo fuente es relativa al archivo de destino. El número de línea es relativo a otras entradas del mismo archivo fuente.
  • none no almacena información sobre la ubicación de la fuente.

Si no se especifica la ubicación, lupdate la determina a partir de los archivos TS existentes. El valor por defecto para archivos nuevos es absolute.

-no-ui-linesNo registre números de línea en las referencias a ficheros UI.
-disable-heuristic {sametext|similartext}Desactivar la heurística de fusión por nombre. Puede especificarse varias veces.
-project <filename>Nombre de un archivo que contiene la descripción del proyecto en formato JSON. Puede utilizar lupdate-pro -dump-json <file> para generar el archivo a partir de un archivo .pro.
-pro <filename>Nombre de un archivo .pro. Útil para archivos con la sintaxis de archivo .pro pero algún otro sufijo de archivo. Los proyectos son recursados y fusionados. Esta opción está obsoleta. En su lugar, utilice la herramienta lupdate-pro.
-pro-out <directory>Directorio de salida virtual para procesar archivos .pro posteriores.
-pro-debugRastrea el procesamiento de los archivos .pro. Especifique dos veces para mayor verbosidad.
-source-language <language>[_<region>]Especifique el idioma de las cadenas de origen de los nuevos archivos. Por defecto es POSIX si no se especifica.
-target-language <language>[_<region>]Especifique el idioma de las traducciones de los archivos nuevos. Si no se especifica el idioma, lupdate lo determina a partir del nombre del fichero.
-tr-function-alias <function>{+=,=}<alias>[,<function>{+=,=}<alias>]...Con +=, reconoce <alias> como una ortografía alternativa de <function>. Con =, reconoce <alias> como la única ortografía de <function>.

Los valores disponibles de <function> (con sus alias definidos actualmente) son:

  • Q_DECLARE_TR_FUNCTIONS (=Q_DECLARE_TR_FUNCTIONS)
  • QT_TR_N_NOOP (=QT_TR_N_NOOP)
  • QT_TRID_N_NOOP (=QT_TRID_N_NOOP)
  • QT_TRANSLATE_N_NOOP (=QT_TRANSLATE_N_NOOP)
  • QT_TRANSLATE_N_NOOP3 (=QT_TRANSLATE_N_NOOP3)
  • QT_TR_NOOP (=QT_TR_NOOP)
  • QT_TRID_NOOP (=QT_TRID_NOOP)
  • QT_TRANSLATE_NOOP (=QT_TRANSLATE_NOOP)
  • QT_TRANSLATE_NOOP3 (=QT_TRANSLATE_NOOP3)
  • QT_TR_NOOP_UTF8 (=QT_TR_NOOP_UTF8)
  • QT_TRANSLATE_NOOP_UTF8 (=QT_TRANSLATE_NOOP_UTF8)
  • QT_TRANSLATE_NOOP3_UTF8 (=QT_TRANSLATE_NOOP3_UTF8)
  • findMessage (=findMessage)
  • qtTrId (=qtTrId)
  • tr (=tr)
  • trUtf8 (=trUtf8)
  • translate (=translate)
  • qsTr (=qsTr)
  • qsTrId (=qsTrId)
  • qsTranslate (=qsTranslate)
-ts <ts-file>...Especifica los archivos de salida. Esto anula TRANSLATIONS.
-versionMuestra la versión de lupdate y sale.

Ejemplos

Usando lupdate con CMake

Cuando construyas con CMake, usa comandos CMake para añadir traducciones en los objetivos al archivo CMakeLists.txt, y luego construye los objetivos.

Seleccione una de las siguientes opciones:

Construir un objetivo (por ejemplo, app_lupdate) para actualizar los archivos .ts para él. Para actualizar los archivos .ts de todos los objetivos, cree el objetivo update_translations.

Uso de lupdate con qmake

Para generar un archivo de traducción para un único archivo QML:

lupdate main.qml -ts main_en.ts

Para hacer un archivo de traducción para otro idioma, por ejemplo francés, copie main_en.ts a main_fr.ts, y traduzca las cadenas en el archivo TS francés.

lupdate procesa los archivos QML que aparecen en el archivo .qrc:

RESOURCES += qml.qrc

Para que lupdate procese todos los archivos QML:

lupdate application.qrc -ts myapp_en.ts

Para procesar todos los archivos QML del directorio de trabajo actual (o de sus subcarpetas) sin utilizar un archivo .qrc:

lupdate . -extensions qml -ts myapp_en.ts

Para comprobar si hay cadenas traducibles en los archivos fuente QML y C++:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts

Para generar archivos .ts que se utilizarán para inglés y francés sin especificar los idiomas en el archivo de proyecto:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts myapp_fr.ts

Entregue los archivos TS al traductor, que utilizará Qt Linguist para leer los archivos e insertar las traducciones.

Ficheros en formato XLIFF

El formato de archivo TS es un formato XML sencillo legible por humanos que se puede utilizar con sistemas de control de versiones. Además, lupdate puede procesar archivos de formato XLIFF (Localization Interchange File Format) (.xlf).

Nota: Actualmente sólo se admiten las versiones 1.1 y 1.2 de XLIFF.

Puede abrir y editar archivos XLIFF en Qt Linguist.

© 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.