qt_add_lupdate
Ajoute des cibles pour générer ou mettre à jour les fichiers .ts d'Qt Linguist.
La commande est définie dans le composant « LinguistTools » du paquet « Qt6 ». Chargez le paquet à l'aide de la commande suivante :
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 plutôt qt6_add_lupdate(). Elle prend en charge le même ensemble d'arguments que cette commande.
Description
Crée une cible personnalisée pour générer ou mettre à jour les fichiers Qt Linguist .ts à l'aide de lupdate.
Le nom par défaut de cette cible personnalisée est ${PROJECT_NAME}_lupdate. Les appels suivants de la commande qt_add_lupdate créeront des noms de cibles auxquels sera ajouté un numéro croissant. Le nom de la cible personnalisée peut être spécifié à l'aide de 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 utiliser SOURCES, décrit ci-dessous. Si ni SOURCE_TARGETS ni SOURCES ne sont fournis, la commande qt_collect_translation_source_targets() est appelée pour récupérer la liste des cibles.
Les fichiers d’ .ts s doivent être spécifiés à l’aide de l’argument TS_FILES.
Cette fonction est conçue pour être utilisée conjointement avec qt_add_lrelease(). Voir également la fonction de commodité qt_add_translations().
Fichiers source et répertoires d’inclusion
Avec ` SOURCES `, vous pouvez spécifier explicitement des fichiers source supplémentaires contenant des chaînes traduisibles.
Vous pouvez utiliser ` INCLUDE_DIRECTORIES ` pour spécifier explicitement les répertoires d’inclusion de ces fichiers source.
Options
Vous pouvez définir des options supplémentaires pour ` OPTIONS ` qui doivent être transmises lors de l'appel de ` lupdate `. Vous trouverez la liste des options possibles dans la documentation de `lupdate`.
Cible « umbrella »
En plus de l’ ${target}_lupdate de la cible, une cible « umbrella » update_translations est créée. Cette cible compilera toutes les cibles ${target}_lupdate qui ont été créées avec qt_add_lupdate.
Passez NO_GLOBAL_TARGET à qt_add_lupdate pour empêcher ce comportement.
Le nom de cette cible peut être redéfini 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, contenant uniquement les 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 des formes plurielles.
Signature de commande obsolète
Les anciennes versions de ` qt_add_lupdate ` prenaient une cible comme premier argument. Cette syntaxe est désormais obsolète. Utilisez plutôt l’argument ` SOURCE_TARGETS `.
Exemples
Ajoutez 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.