Sur cette page

qt_add_translation

Compile les fichiers .ts d'Qt Linguist en fichiers .qm.

La commande est définie dans le composant « LinguistTools » du paquet « Qt6 ». Chargez le paquet à l'aide de la commande suivante :

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

Avertissement : cette fonction est obsolète. Envisagez plutôt d’utiliser les fonctions basées sur la cible qt_add_lrelease() ou qt_add_translations().

Synopsis

qt_add_translation(<VAR> file1.ts [file2.ts ...]
                    [OPTIONS ...])

Si les commandes sans version sont désactivées, utilisez plutôt qt6_add_translation. Elle prend en charge le même ensemble d’arguments que cette commande.

Description

Appelle lrelease sur chaque fichier .ts passé en argument, générant ainsi des fichiers .qm. Les chemins d’accès des fichiers générés sont ajoutés à <VAR>.

Options

Vous pouvez définir des OPTIONS s supplémentaires à transmettre lors de l’appel de lrelease. Vous trouverez les options disponibles dans la documentation de lrelease.

Par défaut, les fichiers d’ qm s sont placés dans le répertoire de compilation actuel (CMAKE_CURRENT_BINARY_DIR). Pour modifier ce comportement, vous pouvez définir OUTPUT_LOCATION comme propriété du fichier source .ts avant d’appeler qt_add_translation.

Par exemple, avec le code suivant, les fichiers .qm sont générés dans un répertoire translations situé sous le répertoire de compilation actuel.

set_source_files_properties(app_en.ts app_de.ts
    PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
qt_add_translation(qmFiles app_en.ts app_de.ts)

Exemples

Génération de helloworld_en.qm et helloworld_de.qm dans le répertoire de compilation :

qt_add_translation(qmFiles helloworld_en.ts helloworld_de.ts)

Génération des fichiers ` helloworld_en.qm` et ` helloworld_de.qm ` dans un sous-répertoire ` l10n ` :

set(TS_FILES helloworld_en.ts helloworld_de.ts)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "l10n")
qt_add_translation(qmFiles ${TS_FILES})

© 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.