Che cos'è il formato di file MO?
.mo è un file di sviluppo utilizzato per memorizzare un catalogo di traduzione binario compilato. I file .mo non sono leggibili dall'uomo - sono la controparte leggibile dalla macchina di un file sorgente .po modificabile dall'utente. I traduttori modificano il file .po e lo compilano in .mo usando il comando msgfmt; l'applicazione carica quindi il .mo all'avvio per visualizzare il testo tradotto. La modifica diretta di un file .mo lo renderà inutilizzabile.
Accesso ai dati
I file .mo non sono crittografati o protetti da lettura. Alcuni editor esadecimali possono visualizzare il binario grezzo, ma il modo corretto per recuperare le stringhe leggibili è il comando msgunfmt, che decompila un .mo nel suo sorgente .po. Internamente, un .mo inizia con un magic number di quattro byte (0x950412DE little-endian), una parola di revisione e due tabelle di offset che puntano agli array di stringhe originali (msgid) e tradotte (msgstr). Una tabella hash opzionale consente una ricerca rapida durante l'esecuzione.
Sicurezza e incolumità
RISCHIO: LOWUn file .mo contiene solo stringhe di traduzione e metadati - non c'è codice eseguibile, quindi il file stesso è innocuo. L'unica cautela pratica: un .mo dannoso inserito in un tema/plugin potrebbe iniettare testo dell'interfaccia fuorviante (es. link o istruzioni alterati), quindi usa solo file di lingua provenienti dalla fonte ufficiale del tema/plugin, non da download di «traduzioni» sconosciuti.
Dettagli del formato
in sintesi- Dati ASCII/oggetto Autodesk Maya - Alcune pipeline ed esportatori Maya utilizzano .mo per i dati degli oggetti - non correlato a gettext.
- File oggetto Modula-3 - Storico file oggetto compilato per il linguaggio Modula-3; il nome del DB riflette questo significato raro.
- Dump di oggetti Motorola / firmware - Occasionalmente visto per blob di oggetti/firmware Motorola; di nicchia e non correlato.
Programmi che aprono file MO
Dettagli tecnici
specifiche approfondite| Tipo di formato | Catalogo di traduzione binario compilato (tabella di stringhe indicizzata tramite hash) |
| Magic number | 0x950412DE (little-endian: DE 12 04 95 all'offset 0; i file big-endian memorizzano 95 04 12 DE) |
| Ordine dei byte | Little-endian o big-endian; il lettore rileva l'ordine dei byte dal magic number al momento dell'analisi |
| Tipo MIME | application/x-gettext-translation |
| Codifica delle stringhe | UTF-8 (più comune); il set di caratteri effettivo è dichiarato nella voce di metadati msgid vuota |
| Voce di metadati | La voce con msgid vuoto memorizza Project-Id-Version, Content-Type, charset e le regole Plural-Forms |
| Revisione del formato | Revisione 0 (sia la parola di revisione major che minor sono 0); la revisione 1 è definita ma raramente implementata |
| Tabella hash | Tabella hash a dimensione fissa opzionale incorporata nel corpo del file per la ricerca di stringhe O(1) all'avvio |
| Strumento di compilazione | msgfmt (GNU gettext) compila .po → .mo |
| Strumento di decompilazione | msgunfmt (GNU gettext) recupera un file .po da un binario .mo |
| Dimensione tipica del file | 5 KB - 2 MB a seconda del numero di stringhe tradotte |
| Supporto piattaforma | Linux, macOS, Windows, BSD - qualsiasi sistema operativo che esegua software basato su gettext |
| Percorso di installazione tipico | Installato come <domain>.mo all'interno di una directory LC_MESSAGES sotto un albero di localizzazione (es. locale/it/LC_MESSAGES/app.mo) |
| Rilasciato | 1995 (GNU gettext) |
| Ultima versione | MO format revision 0 (still current); revision 1 defined but rarely used |
| Standard aperto | Sì · royalty-free |
| Specifica | www.gnu.org |
Conversioni MO
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file MO.