Utilisation de lconvert
L'outil en ligne de commande « lconvert » permet de filtrer et de convertir des fichiers de données de traduction.
Il prend en charge les formats de fichiers suivants :
pot- Fichiers de modèles de localisation GNU Gettextqph- le « Phrase Book » de Qt Linguistts- Sources de traduction Qtpo- Fichiers de localisation GNU Gettextqm- Traductions Qt compiléesxlf- Fichiers de localisation XLIFF
Syntaxe de lconvert
lconvert [options] <infile> [<infile>...]Où :
optionsdésigne une ou plusieurs options de lconvert.infileest un fichier d'entrée. Vous pouvez spécifier plusieurs fichiers d'entrée.
Si vous spécifiez plusieurs fichiers d'entrée, ceux-ci sont fusionnés, les traductions des fichiers les plus récents ayant la priorité.
Pour consulter la dernière aide d'lconvert, saisissez :
lconvert -helpoptions de lconvert
| Option | Action |
|---|---|
-h -help | Display up-to-date help information and exit. |
-i <infile> -input-file <infile> | Specify an input file. Use this option if <infile> starts with a dash. Use this option several times to merge inputs. May be - (standard input) for use in a pipe. |
-o <outfile> -output-file <outfile> | Specify an output file. Default is - (standard output). |
-if <informat> -input-format <format> | Specify input format for subsequent input files. The format is auto-detected from the file name and defaults to ts. |
-of <outformat> -output-format <outformat> | Specify output format. See -if. |
-drop-tags <regexp> | Supprimer les balises supplémentaires nommées lors de la création des fichiers « TS » ou « XLIFF ». Vous pouvez spécifier cette option plusieurs fois. |
-drop-translations | Supprimer les traductions existantes et réinitialiser le statut à « unfinished ». Cela implique « --no-obsolete ». |
-source-language <language>[_<region>] | Spécifier ou remplacer la langue des chaînes sources. La valeur par défaut est POSIX si elle n’est pas spécifiée et si le fichier ne la mentionne pas encore. |
-target-language <language>[_<region>] | Spécifier ou remplacer la langue de la traduction. Par défaut, la langue cible est lue à partir du contenu du fichier ou déduite à partir du nom du fichier. |
-no-obsolete | Supprimer les messages obsolètes. |
-no-finished | Ignorer les messages terminés. |
-no-untranslated | Supprimer les messages non traduits. |
-sort-contexts | Trier les contextes par ordre alphabétique dans le fichier de sortie « TS ». |
-sort-messages | Trier les messages d’un contexte par ordre alphabétique dans les fichiers d’ TS. |
-locations {absolute|relative|none} | Remplacer la manière dont les références au code source sont enregistrées dans les fichiers d'TS. La valeur par défaut est « absolute ». |
-no-ui-lines | Supprimer les numéros de ligne des références aux fichiers d'UI. |
-pluralonly | Supprimer les messages au singulier. |
-verbose | Explique ce qui est en train d’être fait. |
Exemples
Convertir un fichier TS en XLIFF
Pour convertir un fichier TS en XLIFF, exécutez la commande suivante dans le terminal :
lconvert -o myapp_de.xlf myapp_de.tsFusionner plusieurs fichiers QM
La commande suivante fusionne plusieurs fichiers QM en un seul fichier d full_de.qm:
lconvert -o full_de.qm qtbase_de.qm myapp_de.qm mylib_de.qmUtilisation de lconvert avec CMake
Pour appeler lconvert lors de la configuration ou de la compilation de votre projet CMake, chargez le paquet Qt6LinguistTools et utilisez $<TARGET_FILE_NAME:Qt6::lconvert> pour localiser l'exécutable lconvert.
L'exemple suivant ajoute une cible personnalisée « xlf_de » qui convertit un fichier TS unique au format XLIFF.
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
add_custom_command(
OUTPUT myapp_de.xlf
COMMAND $<TARGET_FILE:Qt6::lconvert> -o myapp_de.xlf myapp_de.ts
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.ts"
VERBATIM
)
add_custom_target(xlf_de
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.xlf"
)Options spécifiques au format PO
Lors de la conversion au format PO, vous pouvez désactiver le retour à la ligne automatique en définissant le drapeau « no-wrap » dans le champ de métadonnées supplémentaires « po-flags ». Par défaut, les lignes de plus de 79 caractères sont renvoyées à la ligne. Définissez ce champ dans le code source à l’aide de la méta-chaîne « //~ » (par exemple, //~ po-flags no-wrap) ou directement dans les fichiers TS à l’aide de l’élément « <extra-po-flags> ».
Les autres indicateurs PO (voir la documentation GNU gettext) sont conservés lors de la conversion entre les formats TS et PO, mais n’ont aucune incidence sur le traitement de « lconvert ».
Remarque : les métadonnées d’ po-flags ne sont conservées que lors d’une conversion directe du format TS vers le format PO.
© 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.