Hva er QM-filformatet?
.qm-filer er assosiert med Qt Linguist, et verktøy for programvareoversettelse utviklet av The Qt Company (opprinnelig Trolltech).
Filer med filendelsen .qm lagrer kildetekst og dens kompilerte oversettelse til et målspråk. .qm-filer lagrer data i binært format for rask datatilgang og oppslag under kjøring. De brukes til å distribuere applikasjonsoversettelser til lokale språk på tvers av Windows, macOS, Linux, Android, iOS og andre Qt-støttede plattformer.
.qm er den kompilerte motparten til den menneskelig redigerbare .TS (Translation Source)-filen, som lastes inn under kjøring. Arbeidsflyten er: utviklere og oversettere jobber i .ts XML-filen, deretter kompilerer kommandolinjeverktøyet lrelease den til en kompakt .qm-binærfil som applikasjonen laster ved oppstart via Qts QTranslator-klasse.
Qt Linguist lar brukere opprette applikasjonsoversettelser og lokaliseringer. Fordi .qm er en kompilert binærfil og ikke en ren tekstfil, er det ikke mulig å lese innholdet direkte - ikke en gang med Qt Linguist selv. Filen starter med et fast 16-byte «magic number», etterfulgt av taggede datablokker (Hashes, Messages, Contexts, NumerusRules, Dependencies) som muliggjør raskt strengoppslag under kjøring.
For å åpne en .qm-fil med Qt Linguist, er det nødvendig å konvertere den tilbake til .ts først. Det finnes mange verktøy som tillater slik konvertering; de fleste av dem er kommandolinjeverktøy, inkludert lconvert (en del av Qt-verktøypakken). Den resulterende .ts-filen kan åpnes direkte med Qt Linguist. .ts-filer er redigerbare - en bruker kan oversette teksten og deretter konvertere filen tilbake til .qm ved hjelp av lrelease. Denne prosessen lar brukere generere og distribuere språkpakker for applikasjoner.
Sikkerhet og trygghet
RISIKO: LOWEn .qm er passive oversettelsesdata som lastes av Qts QTranslator og kjører ingen kode. Den er trygg. Den eneste praktiske forholdsregelen er å unngå å redigere feil fil: endringer må gjøres i .ts-kilden og rekompileres, siden manuell redigering av den binære .qm-filen vil ødelegge den.
Formatdetaljer
i et nøtteskall- QuickTime-metadata / diverse - Av og til sett for urelaterte verktøydata; den dominerende betydningen er den kompilerte Qt-oversettelsen.
Programmer som åpner QM-filer
Tekniske detaljer
dyp spesifikasjon| Utvikler | The Qt Company (opprinnelig Trolltech / Nokia / Digia) |
| Format-type | Kompilert binær oversettelseskatalog |
| MIME-type | application/x-qm (også application/octet-stream) |
| Filsignatur (magic bytes) | 16-byte hode ved offset 0: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| Byterekkefølge | Big-endian |
| Intern struktur | Tag/lengde/verdi-blokker: Hashes, Messages, Contexts, NumerusRules, Dependencies |
| Strengkoding | UTF-16 eller UTF-8 per streng |
| Komprimering | Ingen - strenger lagres som de er; flertallsregler (numerus) er kodet kompakt |
| Typisk filstørrelse | 5 KB - 2 MB, avhengig av antall oversatte strenger |
| Kildeformat | .ts (Translation Source, XML) - den menneskelig redigerbare motparten kompilert av lrelease |
| Kompileringsverktøy | lrelease (Qt-kommandolinjeverktøy, del av Qt-verktøypakken) |
| Verktøy for omvendt konvertering | lconvert (Qt-kommandolinjeverktøy) - konverterer .qm tilbake til .ts eller andre formater |
| Kjøretidslaster | QTranslator-klassen i Qt-rammeverket |
| Strengoppslag | O(1) via en hash-tabell per melding innebygd i filen |
| Støttede plattformer | Windows, macOS, Linux, Android, iOS, innebygde Qt-mål |
| Utgitt | 1990s (Qt internationalization framework) |
| Siste versjon | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | doc.qt.io |
QM-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om QM-filer.