Sur cette page

Utilisation de lconvert

L'outil en ligne de commande lconvert filtre et convertit les fichiers de données de traduction.

Il prend en charge les formats de fichiers suivants :

  • pot - Fichiers de modèles de localisation GNU Gettext
  • qph - Qt Linguist Phrase Book
  • ts - Sources de traduction Qt
  • po - Fichiers de localisation GNU Gettext
  • qm - Traductions Qt compilées
  • xlf - Fichiers de localisation XLIFF

Syntaxe de lconvert

lconvert [options] <infile> [<infile>...]

où :

  • options désigne une ou plusieurs options de lconvert.
  • infile est un fichier d'entrée. Vous pouvez spécifier plusieurs fichiers d'entrée.

Si vous spécifiez plusieurs fichiers d'entrée, ils sont fusionnés avec les traductions des fichiers les plus récents qui ont la priorité.

Pour afficher la dernière version de l'aide lconvert, entrez :

lconvert -help

lconvert options

OptionAction
-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>Supprime les balises supplémentaires nommées lors de l'écriture des fichiers TS ou XLIFF. Vous pouvez spécifier cette option plusieurs fois.
-drop-translationsAbandonner les traductions existantes et réinitialiser le statut à unfinished, ce qui implique --no-obsolete.
-source-language <language>[_<region>]Spécifier/supprimer la langue des chaînes source. La valeur par défaut est POSIX si elle n'est pas spécifiée et que le fichier ne porte pas encore de nom.
-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 devinée à partir du nom du fichier.
-no-obsoleteSupprimer les messages obsolètes.
-no-finishedSupprimer les messages terminés.
-no-untranslatedSupprimer les messages non traduits.
-sort-contextsTrier les contextes dans le fichier de sortie TS par ordre alphabétique.
-sort-messagesTrier les messages d'un contexte par ordre alphabétique dans les fichiers TS.
-locations {absolute|relative|none}Modifier la façon dont les références au code source sont enregistrées dans les fichiers TS. La valeur par défaut est absolute.
-no-ui-linesSupprimer les numéros de ligne des références aux fichiers UI.
-pluralonlySupprimer les messages non pluriels.
-verboseExpliquer ce qui est fait.

Exemples

Convertir un fichier TS en XLIFF

Pour convertir un seul fichier TS en XLIFF, exécutez la commande suivante dans le terminal :

lconvert -o myapp_de.xlf myapp_de.ts

Fusionner plusieurs fichiers QM

La commande suivante fusionne plusieurs fichiers QM en full_de.qm:

lconvert -o full_de.qm qtbase_de.qm myapp_de.qm mylib_de.qm

Utilisation de lconvert avec CMake

Pour appeler lconvert lors de la configuration ou de la construction 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 seul fichier TS en 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 l'indicateur 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 enveloppées. 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>.

D'autres indicateurs PO (voir la documentation GNU gettext) sont préservés lors de la conversion entre les formats TS et PO, mais n'affectent pas le traitement de lconvert.

Note : Les métadonnées de po-flags ne sont préservées que lors de la conversion directe du format TS au 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.