Qu'est-ce que le format de fichier QM ?
Les fichiers .qm sont associés à Qt Linguist, un outil logiciel de traduction développé par The Qt Company (à l'origine Trolltech).
Les fichiers avec une extension .qm stockent le texte source et sa traduction compilée vers une langue cible. Les fichiers .qm stockent les données au format binaire pour un accès et une recherche rapides des données au moment de l'exécution. Ils sont utilisés pour distribuer les traductions d'applications dans les langues locales sur Windows, macOS, Linux, Android, iOS et d'autres plateformes prises en charge par Qt.
.qm est l'équivalent compilé et chargé à l'exécution du fichier .TS (Translation Source) modifiable par l'homme. Le flux de travail est le suivant : les développeurs et les traducteurs travaillent dans le fichier XML .ts, puis l'outil en ligne de commande lrelease le compile en un binaire .qm compact que l'application charge au démarrage via la classe QTranslator de Qt.
Qt Linguist permet aux utilisateurs de créer des traductions et des localisations d'applications. Comme .qm est un fichier binaire compilé et non un fichier texte brut, il n'est pas possible de lire son contenu directement - pas même avec Qt Linguist lui-même. Le fichier commence par un nombre magique fixe de 16 octets, suivi de blocs de données balisés (Hashes, Messages, Contexts, NumerusRules, Dependencies) qui permettent une recherche rapide de chaînes au moment de l'exécution.
Afin d'ouvrir un fichier .qm avec Qt Linguist, il est nécessaire de le convertir d'abord en .ts. Il existe de nombreux outils permettant une telle conversion ; la plupart d'entre eux sont des utilitaires en ligne de commande, notamment lconvert (faisant partie de la suite d'outils Qt). Le fichier .ts résultant peut être ouvert directement avec Qt Linguist. Les fichiers .ts sont modifiables - un utilisateur peut traduire le texte puis convertir le fichier en .qm à l'aide de lrelease. Ce processus permet aux utilisateurs de générer et de distribuer des packs de langue pour les applications.
Sécurité et sûreté
RISQUE : LOWUn fichier .qm est une donnée de traduction passive chargée par le QTranslator de Qt et n'exécute aucun code. Il est sûr. La seule précaution pratique est d'éviter de modifier le mauvais fichier : les changements doivent être effectués dans la source .ts et recompilés, car une modification manuelle du binaire .qm le corromprait.
Détails du format
en bref- Métadonnées QuickTime / divers - Parfois observé pour des données d'outils non liées ; la signification dominante est la traduction compilée Qt.
Programmes qui ouvrent les fichiers QM
Détails techniques
spécifications approfondies| Développeur | The Qt Company (à l'origine Trolltech / Nokia / Digia) |
| Type de format | Catalogue de traduction binaire compilé |
| Type MIME | application/x-qm (également application/octet-stream) |
| Signature de fichier (octets magiques) | En-tête de 16 octets à l'offset 0 : 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| Ordre des octets | Big-endian |
| Structure interne | Blocs étiquette/longueur/valeur : Hashes, Messages, Contexts, NumerusRules, Dependencies |
| Encodage des chaînes | UTF-16 ou UTF-8 par chaîne |
| Compression | Aucune - chaînes stockées telles quelles ; règles de pluriel (numerus) encodées de manière compacte |
| Taille de fichier typique | 5 Ko - 2 Mo, selon le nombre de chaînes traduites |
| Format source | .ts (Translation Source, XML) - l'équivalent modifiable par l'homme compilé par lrelease |
| Outil de compilation | lrelease (outil en ligne de commande Qt, faisant partie de la suite d'outils Qt) |
| Outil de conversion inverse | lconvert (outil en ligne de commande Qt) - convertit le .qm en .ts ou d'autres formats |
| Chargeur d'exécution | Classe QTranslator dans le framework Qt |
| Recherche de chaînes | O(1) via une table de hachage par message intégrée au fichier |
| Plateformes prises en charge | Windows, macOS, Linux, Android, iOS, cibles Qt embarquées |
| Publié | 1990s (Qt internationalization framework) |
| Dernière version | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| Standard ouvert | Oui · libre de droits |
| Spécification | doc.qt.io |
Conversions QM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers QM.