Che cos'è il formato di file QM?
I file .qm sono associati a Qt Linguist, uno strumento software di traduzione sviluppato da The Qt Company (originariamente Trolltech).
I file con estensione .qm memorizzano il testo sorgente e la sua traduzione compilata verso una lingua di destinazione. I file .qm archiviano i dati in formato binario per un accesso e una ricerca rapida dei dati durante l'esecuzione. Vengono utilizzati per distribuire le traduzioni delle applicazioni nelle lingue locali su Windows, macOS, Linux, Android, iOS e altre piattaforme supportate da Qt.
.qm è la controparte compilata e caricata a runtime del file .TS (Translation Source), che è invece modificabile dall'utente. Il flusso di lavoro è il seguente: sviluppatori e traduttori lavorano nel file XML .ts, quindi lo strumento da riga di comando lrelease lo compila in un binario compatto .qm che l'applicazione carica all'avvio tramite la classe QTranslator di Qt.
Qt Linguist consente agli utenti di creare traduzioni e localizzazioni di applicazioni. Poiché .qm è un file binario compilato e non un file di testo semplice, non è possibile leggerne direttamente il contenuto, nemmeno con lo stesso Qt Linguist. Il file inizia con un numero magico fisso di 16 byte, seguito da blocchi di dati etichettati (Hashes, Messages, Contexts, NumerusRules, Dependencies) che consentono una ricerca rapida delle stringhe a runtime.
Per aprire un file .qm con Qt Linguist, è necessario prima riconvertirlo in .ts. Esistono molti strumenti che consentono tale conversione; la maggior parte di essi sono utility da riga di comando, tra cui lconvert (parte del pacchetto di strumenti Qt). Il file .ts risultante può essere aperto direttamente con Qt Linguist. I file .ts sono modificabili: un utente può tradurre il testo e poi riconvertire il file in .qm utilizzando lrelease. Questo processo consente agli utenti di generare e distribuire pacchetti di lingua per le applicazioni.
Sicurezza e incolumità
RISCHIO: LOWUn file .qm è un insieme di dati di traduzione passivi caricati dal QTranslator di Qt e non esegue alcun codice. È sicuro. L'unica cautela pratica riguarda la modifica del file sbagliato: le modifiche devono essere apportate nel sorgente .ts e ricompilate, poiché la modifica manuale del binario .qm lo corromperebbe.
Dettagli del formato
in sintesi- Metadati QuickTime / vari - Visto occasionalmente per dati di strumenti non correlati; il significato dominante è la traduzione compilata di Qt.
Programmi che aprono file QM
Dettagli tecnici
specifiche approfondite| Sviluppatore | The Qt Company (originariamente Trolltech / Nokia / Digia) |
| Tipo di formato | Catalogo di traduzione binario compilato |
| Tipo MIME | application/x-qm (anche application/octet-stream) |
| Firma del file (magic bytes) | Header di 16 byte all'offset 0: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| Ordine dei byte | Big-endian |
| Struttura interna | Blocchi Tag/length/value: Hashes, Messages, Contexts, NumerusRules, Dependencies |
| Codifica delle stringhe | UTF-16 o UTF-8 per stringa |
| Compressione | Nessuna - stringhe memorizzate così come sono; regole plurali (numerus) codificate in modo compatto |
| Dimensione tipica del file | 5 KB - 2 MB, a seconda del numero di stringhe tradotte |
| Formato sorgente | .ts (Translation Source, XML) - la controparte modificabile dall'uomo compilata da lrelease |
| Strumento di compilazione | lrelease (strumento da riga di comando Qt, parte del pacchetto Qt tools) |
| Strumento di conversione inversa | lconvert (strumento da riga di comando Qt) - converte .qm in .ts o altri formati |
| Caricatore runtime | Classe QTranslator nel framework Qt |
| Ricerca stringhe | O(1) tramite tabella hash per messaggio incorporata nel file |
| Piattaforme supportate | Windows, macOS, Linux, Android, iOS, target Qt embedded |
| Rilasciato | 1990s (Qt internationalization framework) |
| Ultima versione | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| Standard aperto | Sì · royalty-free |
| Specifica | doc.qt.io |
Conversioni QM
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file QM.