Utilisation de lupdate
L'outil de ligne de commande lupdate recherche les chaînes traduisibles dans les sources C++, les en-têtes C++, les fichiers Java, Python, QML et UI et génère ou met à jour les fichiers TS.
Lors de la compilation avec qmake, spécifiez les fichiers à traiter à la ligne de commande ou dans un fichier .pro.
Lors de la compilation avec CMake, utilisez les commandes CMake pour ajouter des cibles qui créent ou mettent à jour les fichiers TS et les transforment en fichiers QM. L'outil lupdate est exécuté avec les options que vous passez aux commandes lorsque vous construisez la cible.
Pour plus d'informations sur la spécification des traductions dans les fichiers de projet, voir Localisation des applications.
Syntaxe de lupdate
lupdate [options] [project-file]... lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file
où :
optionsdésigne une ou plusieurs options de lupdate.project-fileest le fichier de configuration du projet.source-fileest un fichier contenant des chaînes traduisibles.pathest le chemin d'accès à un dossier contenant des fichiers sources de traduction.@lst-filelit des noms de fichiers supplémentaires (un par ligne) ou des chemins d'inclusion (un par ligne et préfixé par-I) dans le fichier lst.ts-filessont les fichiers TS à générer ou à mettre à jour.
Pour afficher l'aide la plus récente, entrez :
lupdate -help
lupdate options
| Option | Action |
|---|---|
-help | Affiche des informations d'aide à jour et quitte. |
-no-obsolete | Supprime toutes les chaînes obsolètes et disparues. |
-extensions <ext>[,<ext>]... | Traite uniquement les fichiers avec les extensions données. Utiliser des virgules pour séparer les extensions dans la liste. Ne pas utiliser d'espace. La valeur par défaut est : java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml,qrc. |
-pluralonly | N'inclure que les messages au pluriel. |
-silent | Ne pas expliquer ce qui est fait. |
-no-sort | Ne pas trier les contextes dans les fichiers TS. |
-sort-messages | Trier les messages d'un contexte par ordre alphabétique dans les fichiers TS. |
-no-recursive | Ne pas analyser les répertoires de manière récursive. |
-recursive | Analyse récursive des répertoires (par défaut). |
-warnings-are-errors | Traiter les avertissements comme des erreurs. |
-I <includepath> or -I<includepath> | Rechercher les fichiers inclus dans cet emplacement supplémentaire. Vous pouvez spécifier plusieurs chemins d'accès. |
-locations {absolute|relative|none} | Spécifier ou remplacer la façon d'enregistrer les références au code source dans les fichiers TS.
Si vous ne spécifiez pas l'emplacement, |
-no-ui-lines | Ne pas enregistrer les numéros de ligne dans les références aux fichiers d'interface utilisateur. |
-disable-heuristic {sametext|similartext} | Désactive l'heuristique de fusion des noms. Peut être spécifié plusieurs fois. |
-project <filename> | Nom d'un fichier contenant la description du projet au format JSON. Vous pouvez utiliser lupdate-pro -dump-json <file> pour générer le fichier à partir d'un fichier .pro. |
-pro <filename> | Nom d'un fichier .pro. Utile pour les fichiers ayant la syntaxe .pro mais un autre suffixe. Les projets sont récurrents et fusionnés. Cette option est obsolète. Utilisez plutôt l'outil lupdate-pro. |
-pro-out <directory> | Répertoire de sortie virtuel pour le traitement des fichiers .pro suivants. |
-pro-debug | Trace le traitement des fichiers .pro. Spécifier deux fois pour plus de verbosité. |
-source-language <language>[_<region>] | Spécifier la langue des chaînes source pour les nouveaux fichiers. La valeur par défaut est POSIX si elle n'est pas spécifiée. |
-target-language <language>[_<region>] | Indiquer la langue des traductions pour les nouveaux fichiers. Si vous ne spécifiez pas la langue, lupdate la détermine à partir du nom du fichier. |
-tr-function-alias <function>{+=,=}<alias>[,<function>{+=,=}<alias>]... | Avec +=, reconnaissez <alias> comme une orthographe alternative de <function>. Avec =,, reconnaissez <alias> comme la seule orthographe de <function>.Les valeurs disponibles pour
|
-ts <ts-file>... | Spécifie les fichiers de sortie. Cette option est prioritaire sur TRANSLATIONS. |
-version | Affiche la version de lupdate et quitte. |
Exemples
Utilisation de lupdate avec CMake
Lorsque vous compilez avec CMake, utilisez les commandes CMake pour ajouter les traductions des cibles au fichier CMakeLists.txt, puis compilez les cibles.
Sélectionnez l'une des options suivantes :
- Utiliser qt_add_translations sur une cible, telle que app. Cela appelle qt_add_lupdate et qt_add_lrelease.
- Utiliser
qt_add_lupdatesur une cible.
Construire une cible (par exemple, app_lupdate) pour mettre à jour les fichiers .ts pour elle. Pour mettre à jour les fichiers .ts de toutes les cibles, construire la cible update_translations.
Utilisation de lupdate avec qmake
Pour générer un fichier de traduction pour un seul fichier QML :
lupdate main.qml -ts main_en.ts
Pour créer un fichier de traduction pour une autre langue, par exemple le français, copiez main_en.ts vers main_fr.ts, et traduisez les chaînes dans le fichier TS français.
lupdate Traiter les fichiers QML répertoriés dans le fichier .qrc:
RESOURCES += qml.qrc
Pour que tous les fichiers QML soient traités par lupdate:
lupdate application.qrc -ts myapp_en.ts
Pour traiter tous les fichiers QML dans le répertoire de travail actuel (ou ses sous-dossiers) sans utiliser de fichier .qrc:
lupdate . -extensions qml -ts myapp_en.ts
Vérifier la présence de chaînes traduisibles dans les fichiers source QML et C++ :
lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts
Générer des fichiers .ts qui seront utilisés pour l'anglais et le français sans spécifier les langues dans le fichier du projet :
lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts myapp_fr.ts
Remettre les fichiers TS au traducteur qui utilise Qt Linguist pour lire les fichiers et insérer les traductions.
Fichiers au format XLIFF
Le format de fichier TS est un format XML simple, lisible par l'homme, que vous pouvez utiliser avec les systèmes de contrôle de version. En outre, lupdate peut traiter les fichiers XLIFF (Localization Interchange File Format) (.xlf).
Remarque : seules les versions 1.1 et 1.2 de XLIFF sont actuellement prises en charge.
Vous pouvez ouvrir et modifier les fichiers XLIFF sur 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.