Sur cette page

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ù :

  • options désigne une ou plusieurs options de lrelease.
  • project-file correspond au fichier de configuration du projet.
  • ts-files sont les fichiers TS à utiliser comme données d'entrée pour les fichiers QM.
  • qm-file est 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 -help

options de lrelease

OptionAction
-helpAffiche les informations d'aide à jour et quitte le programme.
-idbasedObsolè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.
-compressCompresser les fichiers QM.
-nounfinishedNe pas inclure les traductions inachevées.
-fail-on-invalidÉchouer si des traductions ne satisfaisant pas aux vérifications suivantes sont détectées :
  • vérification de validité des raccourcis clavier
  • vérification de la validité des espaces autour des caractères
  • vérification de la validité de la ponctuation de fin
  • vérification de la validité des marqueurs de position

Pour plus de détails, consultez l'aide d'Qt Linguist

-fail-on-unfinishedGénérer une erreur si des traductions inachevées sont détectées
-removeidenticalSi 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.
-silentNe pas expliquer ce qui est en cours d'exécution.
-verboseExpliquer ce qui est en cours d'exécution (par défaut).
-versionAfficher 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 :

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.