Hva er MO-filformatet?
.mo er en utviklerfil som brukes til å lagre en kompilert binær oversettelseskatalog. .mo-filer er ikke menneskelig lesbare - de er den maskinlesbare motparten til en menneskelig redigerbar .po-kildefil. Oversettere redigerer .po-filen og kompilerer den til .mo ved hjelp av kommandoen msgfmt; applikasjonen laster deretter inn .mo-filen ved kjøretid for å vise oversatt tekst. Direkte endring av en .mo-fil vil gjøre den ubrukelig.
Datatilgang
.mo-filer er ikke kryptert eller lesebeskyttet. Noen heksedisplay-verktøy kan vise de rå binærdataene, men den riktige måten å gjenopprette menneskelig lesbare strenger på er kommandoen msgunfmt, som dekompilerer en .mo tilbake til sin .po-kilde. Internt starter en .mo med et fire-byte magisk tall (0x950412DE little-endian), et revisjonsord og to offset-tabeller som peker til originale (msgid) og oversatte (msgstr) streng-arrayer. En valgfri hashtabell muliggjør raske oppslag ved kjøretid.
Sikkerhet og trygghet
RISIKO: LOWEn .mo-fil inneholder kun oversettelsesstrenger og metadata - det er ingen kjørbar kode, så selve filen er ufarlig. Den eneste praktiske forholdsregelen: en ondsinnet .mo-fil plassert i et tema eller programtillegg kan injisere villedende tekst i grensesnittet (f.eks. endrede lenker eller instruksjoner), så bruk kun språkfiler fra offisielle kilder.
Formatdetaljer
i et nøtteskall- Autodesk Maya ASCII/objektdata - Noen Maya-arbeidsflyter og eksportere bruker .mo for objektdata - ikke relatert til gettext.
- Modula-3 objektfil - Historisk kompilert objektfil for språket Modula-3; databasenavnet reflekterer denne sjeldne betydningen.
- Motorola / firmware-objektdumper - Av og til sett for Motorola objekt/firmware-data; nisje og ikke relatert.
Programmer som åpner MO-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | Binær kompilert oversettelseskatalog (hash-indeksert strengtabell) |
| Magisk tall | 0x950412DE (little-endian: DE 12 04 95 ved offset 0; big-endian-filer lagrer 95 04 12 DE) |
| Byterekkefølge | Little-endian eller big-endian; leseren oppdager byterekkefølgen fra det magiske tallet under parsing |
| MIME-type | application/x-gettext-translation |
| Strengkoding | UTF-8 (vanligst); faktisk tegnsett deklareres i metadata-oppføringen for tom msgid |
| Metadata-oppføring | Oppføring med tom msgid lagrer Project-Id-Version, Content-Type, tegnsett og Plural-Forms-regler |
| Formatrevisjon | Revisjon 0 (både major- og minor-revisjonsord er 0); revisjon 1 er definert, men sjelden i bruk |
| Hashtabell | Valgfri hashtabell med fast størrelse innebygd i filen for O(1) strengoppslag ved kjøretid |
| Kompileringsverktøy | msgfmt (GNU gettext) kompilerer .po → .mo |
| Dekompileringsverktøy | msgunfmt (GNU gettext) gjenoppretter en .po-fil fra en .mo-binærfil |
| Typisk filstørrelse | 5 KB - 2 MB avhengig av antall oversatte strenger |
| Plattformstøtte | Linux, macOS, Windows, BSD - alle operativsystemer som kjører gettext-basert programvare |
| Vanlig distribusjonsbane | Installert som <domene>.mo i en LC_MESSAGES-mappe under et språk-tre (f.eks. locale/no/LC_MESSAGES/app.mo) |
| Utgitt | 1995 (GNU gettext) |
| Siste versjon | MO format revision 0 (still current); revision 1 defined but rarely used |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.gnu.org |
MO-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om MO-filer.