Vad är filformatet QM?
.qm-filer är associerade med Qt Linguist, ett verktyg för översättningsprogramvara utvecklat av The Qt Company (ursprungligen Trolltech).
Filer med filtillägget .qm lagrar källtext och dess kompilerade översättning till ett målspråk. .qm-filer lagrar data i binärt format för snabb dataåtkomst och uppslagning vid körning. De används för att distribuera applikationsöversättningar till lokala språk över Windows, macOS, Linux, Android, iOS och andra Qt-stödda plattformar.
.qm är den kompilerade, körningsladdade motsvarigheten till den mänskligt redigerbara .TS (Translation Source)-filen. Arbetsflödet är: utvecklare och översättare arbetar i .ts XML-filen, sedan kompilerar kommandoradsverktyget lrelease den till en kompakt .qm-binärfil som applikationen laddar vid uppstart via Qts QTranslator-klass.
Qt Linguist tillåter användare att skapa applikationsöversättningar och lokaliseringar. Eftersom .qm är en kompilerad binärfil och inte en vanlig textfil, är det inte möjligt att läsa dess innehåll direkt - inte ens med Qt Linguist självt. Filen börjar med ett fast 16-byte «magic number», följt av taggade datablock (Hashes, Messages, Contexts, NumerusRules, Dependencies) som möjliggör snabb stränguppslagning vid körning.
För att kunna öppna en .qm-fil med Qt Linguist är det nödvändigt att först konvertera den tillbaka till .ts. Det finns många verktyg som tillåter en sådan konvertering; de flesta av dem är kommandoradsverktyg, inklusive lconvert (en del av Qt-verktygspaketet). Den resulterande .ts-filen kan öppnas direkt med Qt Linguist. .ts-filer är redigerbara - en användare kan översätta texten och sedan konvertera filen tillbaka till .qm med lrelease. Denna process tillåter användare att generera och distribuera språkpaket för applikationer.
Säkerhet & trygghet
RISK: LOWEn .qm-fil är passiv översättningsdata som laddas av Qts QTranslator och kör ingen kod. Den är säker. Den enda praktiska försiktighetsåtgärden är att inte redigera fel fil: ändringar måste göras i .ts-källan och kompileras om, eftersom manuell redigering av den binära .qm-filen kommer att korrumpera den.
Formatdetaljer
i ett nötskal- QuickTime metadata / diverse - Ses ibland för orelaterade verktygsdata; den dominerande betydelsen är den kompilerade Qt-översättningen.
Program som öppnar QM-filer
Tekniska detaljer
djup specifikation| Utvecklare | The Qt Company (ursprungligen Trolltech / Nokia / Digia) |
| Formattyp | Kompilerad binär översättningskatalog |
| MIME-typ | application/x-qm (även application/octet-stream) |
| Filsignatur (magic bytes) | 16-byte header vid offset 0: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| Byteordning | Big-endian |
| Intern struktur | Tagg/längd/värde-block: Hashes, Messages, Contexts, NumerusRules, Dependencies |
| Strängkodning | UTF-16 eller UTF-8 per sträng |
| Komprimering | Ingen - strängar lagras som de är; pluralregler (numerus) kodas kompakt |
| Typisk filstorlek | 5 KB - 2 MB, beroende på antal översatta strängar |
| Källformat | .ts (Translation Source, XML) - den mänskligt redigerbara motsvarigheten kompilerad av lrelease |
| Kompileringsverktyg | lrelease (Qt-kommandoradsverktyg, del av Qt-verktygspaketet) |
| Verktyg för omvänd konvertering | lconvert (Qt-kommandoradsverktyg) - konverterar .qm tillbaka till .ts eller andra format |
| Körningsladdare | QTranslator-klassen i Qt-ramverket |
| Stränguppslagning | O(1) via hash-tabell per meddelande inbäddad i filen |
| Plattformar som stöds | Windows, macOS, Linux, Android, iOS, inbäddade Qt-mål |
| Släppt | 1990s (Qt internationalization framework) |
| Senaste version | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| Öppen standard | Ja · royaltyfri |
| Specifikation | doc.qt.io |
QM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om QM-filer.