qt_add_lupdate
Ajouter des cibles pour générer ou mettre à jour les fichiers .ts de Qt Linguist.
La commande est définie dans le composant LinguistTools du paquetage Qt6. Chargez le paquet avec :
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
Cette commande a été introduite dans Qt 6.2.
Synopsis
Depuis la version 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 ...])Depuis la version 6.2 (obsolète) :
qt_add_lupdate(target TS_FILES file1.ts [file2.ts ...]
[SOURCES source1.cpp [sources2.cpp ...]]
[INCLUDE_DIRECTORIES directory1 [directory2 ...]]
[NO_GLOBAL_TARGET]
[OPTIONS ...])Si les commandes sans version sont désactivées, utilisez qt6_add_lupdate() à la place. Elle supporte le même jeu d'arguments que cette commande.
Description de la commande
Crée une cible personnalisée pour générer ou mettre à jour les fichiers Qt Linguist .ts avec lupdate.
Le nom de cette cible personnalisée est par défaut ${PROJECT_NAME}_lupdate. D'autres appels de qt_add_lupdate créeront des noms de cibles avec un nombre croissant de noms. Le nom de la cible personnalisée peut être spécifié avec l'option LUPDATE_TARGET.
L'argument SOURCE_TARGETS permet de spécifier une liste de cibles contenant des sources avec des chaînes traduisibles. Si SOURCE_TARGETS n'est pas spécifié, vous pouvez spécifier SOURCES, qui est décrit ci-dessous. Si vous n'indiquez ni SOURCE_TARGETS ni SOURCES, la commande qt_collect_translation_source_targets est appelée pour récupérer la liste des cibles.
Les fichiers .ts doivent être spécifiés avec l'argument TS_FILES.
Cette fonction est conçue pour être utilisée en conjonction avec qt_add_lrelease. Voir aussi le wrapper de commodité qt_add_translations.
Sources et répertoires d'inclusion
Avec SOURCES, vous pouvez explicitement spécifier des fichiers sources supplémentaires qui contiennent des chaînes traduisibles.
Vous pouvez utiliser INCLUDE_DIRECTORIES pour spécifier explicitement des répertoires d'inclusion pour ces fichiers sources.
Options
Vous pouvez définir des options supplémentaires sur OPTIONS qui doivent être transmises lorsque lupdate est invoqué. Vous trouverez les options possibles dans la documentation de lupdate.
Cible parapluie
En plus de la cible ${target}_lupdate, une cible parapluie update_translations est créée. Cette cible construira toutes les cibles ${target}_lupdate qui ont été créées avec qt_add_lupdate.
Passez NO_GLOBAL_TARGET à qt_add_lupdate pour éviter ce comportement.
Le nom de cette cible peut être modifié en définissant la variable QT_GLOBAL_LUPDATE_TARGET avant d'appeler qt_add_lupdate.
Formes plurielles
QT_I18N_SOURCE_LANGUAGE spécifie la langue dans laquelle les chaînes du code source sont écrites. Pour gérer correctement les formes plurielles, créez un fichier .ts supplémentaire pour cette langue, qui ne contiendra que des chaînes traduisibles pour les formes plurielles. Voir Gestion des formes plurielles pour plus de détails.
Avec PLURALS_TS_FILE, vous pouvez spécifier le fichier .ts pour la langue source. Ce fichier ne contiendra que les formes plurielles.
Signature de commande obsolète
Les anciennes versions de qt_add_lupdate prenaient une cible comme premier argument. Ceci est obsolète. Utilisez l'argument SOURCE_TARGETS à la place.
Exemples
Ajouter les cibles myapp_lupdate et update_translations pour mettre à jour le fichier .ts d'une application myapp.
qt_add_lupdate(
SOURCE_TARGETS myapp
TS_FILES myapp_de.ts
PLURALS_TS_FILE myapp_en.ts
)Vous pouvez spécifier le nom de la cible créée en passant l'argument 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.