Utilisation de lrelease
L'outil en ligne de commande lrelease génère des fichiers QM à partir de fichiers TS. Le format de fichier QM est un format binaire compact utilisé par l'application localisée. Il permet une recherche extrêmement rapide des traductions.
Lors de la compilation avec qmake, spécifiez les fichiers à traiter en 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 des fichiers TS et les transforment en fichiers QM. L'outil lrelease est exécuté avec les options que vous transmettez aux commandes lors de la compilation de la cible.
Exécutez lrelease chaque fois que vous souhaitez publier l’application, de la version de test initiale à la version finale. L’application n’a pas besoin de fichiers QM pour fonctionner, mais s’ils sont disponibles, elle les détecte et les utilise automatiquement.
Remarque : l’outil lrelease n’intègre que les traductions que vous marquez comme terminées. Dans le cas contraire, il utilise le texte d’origine à la place.
Syntaxe de lrelease
lrelease [options] -project project-file
lrelease [options] ts-files [-qm qm-file]Où :
optionsdésigne une ou plusieurs options de lrelease.project-filecorrespond au fichier de configuration du projet.ts-filessont les fichiers TS à utiliser comme données d'entrée pour les fichiers QM.qm-fileest le nom du fichier QM à générer.
Remarque : le passage de fichiers .pro à ` lrelease ` est obsolète. Utilisez l'outil ` lrelease-pro ` ou la fonctionnalité ` lrelease.prf ` lorsque vous utilisez `qmake`.
Pour consulter l'aide la plus récente, saisissez :
lrelease -helpoptions de lrelease
| Option | Action |
|---|---|
-help | Affiche les informations d'aide à jour et quitte le programme. |
-idbased | Obsolète. Ce drapeau n'est plus nécessaire et sera supprimé dans une prochaine version. Il servait à activer la traduction basée sur les identifiants. |
-compress | Compresser les fichiers QM. |
-nounfinished | Ne pas inclure les traductions inachevées. |
-fail-on-invalid | Échouer si des traductions ne satisfaisant pas aux vérifications suivantes sont détectées :
Pour plus de détails, consultez l'aide d'Qt Linguist |
-fail-on-unfinished | Générer une erreur si des traductions inachevées sont détectées |
-removeidentical | Si le texte traduit est identique au texte source, exclure le message. |
-markuntranslated <prefix> | Si un message ne dispose pas de véritable traduction, utilisez à la place le texte source préfixé par la chaîne indiquée. |
-project <filename> | Nom d'un fichier contenant la description du projet au format JSON. Vous pouvez utiliser lupdate-pro -dump-json pour générer ce fichier à partir d'un fichier .pro. |
-silent | Ne pas expliquer ce qui est en cours d'exécution. |
-verbose | Expliquer ce qui est en cours d'exécution (par défaut). |
-version | Afficher la version d'lrelease et quitter. |
Exemples
Utilisation de lrelease avec CMake
Lors de la compilation avec CMake, utilisez les commandes CMake pour ajouter des traductions aux cibles dans le fichier CMakeLists.txt, puis compilez les cibles.
Sélectionnez l'une des options suivantes :
- Utilisez `qt_add_translations ` sur une cible, telle que ` app`. Cela appelle les fonctions ` qt_add_lupdate ` et ` qt_add_lrelease`.
- Utilisez `
qt_add_lrelease` sur une cible.
Compilez une cible (par exemple, ` app_lrelease`) pour mettre à jour ses fichiers .qm. Pour mettre à jour les fichiers .qm de toutes les cibles, compilez la cible ` release_translations`.
Utilisation de lrelease avec qmake
Pour exécuter lrelease sans spécifier de fichier de projet :
lrelease.exe main_en.ts languages\main_fr.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.