Vad är filformatet MO?
.mo är en utvecklarfil som används för att lagra en kompilerad binär översättningskatalog. .mo-filer är inte läsbara för människor - de är den maskinläsbara motsvarigheten till en mänskligt redigerbar .po-källfil. Översättare redigerar .po-filen och kompilerar den till .mo med kommandot msgfmt; applikationen läser sedan in .mo-filen vid körning för att visa översatt text. Att modifiera en .mo-fil direkt gör den oanvändbar.
Dataåtkomst
.mo-filer är inte krypterade eller lässkyddade. Vissa hex-redigerare kan visa den råa binärdatan, men det korrekta sättet att återställa läsbara strängar är kommandot msgunfmt, som dekompilerar en .mo tillbaka till dess .po-källa. Internt börjar en .mo med ett fyra byte långt magiskt nummer (0x950412DE little-endian), ett revisionsord och två offset-tabeller som pekar på originalsträngar (msgid) och översatta strängar (msgstr). En valfri hashtabell möjliggör snabb uppslagning vid körning.
Säkerhet & trygghet
RISK: LOWEn .mo-fil innehåller endast översättningssträngar och metadata - det finns ingen exekverbar kod, så filen i sig är ofarlig. Den enda praktiska varningen: en skadlig .mo-fil placerad i ett tema eller tillägg kan injicera vilseledande gränssnittstext (t.ex. ändrade länkar eller instruktioner), så använd endast språkfiler från officiella källor för teman/tillägg, inte från okända nedladdningar.
Formatdetaljer
i ett nötskal- Autodesk Maya ASCII/objektdata - Vissa Maya-pipelines och exportverktyg använder .mo för objektdata - ej relaterat till gettext.
- Modula-3 objektfil - Historisk kompilerad objektfil för språket Modula-3; databasnamnet återspeglar denna sällsynta betydelse.
- Motorola / firmware-objektdumpar - Förekommer ibland för Motorola objekt/firmware-blobs; nischat och ej relaterat.
Program som öppnar MO-filer
Tekniska detaljer
djup specifikation| Formattyp | Binär kompilerad översättningskatalog (hash-indexerad strängtabell) |
| Magiskt nummer | 0x950412DE (little-endian: DE 12 04 95 vid offset 0; big-endian-filer lagrar 95 04 12 DE) |
| Byteordning | Little-endian eller big-endian; läsaren känner av byteordningen från det magiska numret vid inläsning |
| MIME-typ | application/x-gettext-translation |
| Strängkodning | UTF-8 (vanligast); den faktiska teckenuppsättningen deklareras i metadata-posten för tom msgid |
| Metadata-post | Post med tom msgid lagrar Project-Id-Version, Content-Type, teckenuppsättning och Plural-Forms-regler |
| Formatrevision | Revision 0 (både major och minor revisionsord är 0); revision 1 är definierad men används sällan |
| Hashtabell | Valfri hashtabell med fast storlek inbäddad i filkroppen för O(1) stränguppslagning vid körning |
| Kompileringsverktyg | msgfmt (GNU gettext) kompilerar .po → .mo |
| Dekompileringsverktyg | msgunfmt (GNU gettext) återställer en .po-fil från en .mo-binärfil |
| Typisk filstorlek | 5 KB - 2 MB beroende på antalet översatta strängar |
| Plattformssupport | Linux, macOS, Windows, BSD - alla operativsystem som kör gettext-baserad programvara |
| Vanlig sökväg vid driftsättning | Installeras som <domain>.mo inuti en LC_MESSAGES-katalog under ett språkträd (t.ex. locale/sv/LC_MESSAGES/app.mo) |
| Släppt | 1995 (GNU gettext) |
| Senaste version | MO format revision 0 (still current); revision 1 defined but rarely used |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.gnu.org |
MO-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om MO-filer.