Conversor de MO para PO
Descompile um arquivo binário GNU gettext .mo de volta para a fonte .po legível. Funciona totalmente no seu navegador — sem upload.
Entrada
Escolha um arquivo .mo. O arquivo é decodificado localmente — nunca é carregado.
Saída
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/mo-to-po \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file": "data:application/octet-stream;base64,3hIElQAAAAA…"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `mo-to-po` tool (MO to PO Converter) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/mo-to-po/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Conversor de MO para PO — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|
Também disponível via
Guias
Um arquivo .mo (Machine Object) é a forma binária compilada de um catálogo de tradução GNU gettext — o formato que PHP, Python, glibc e WordPress realmente carregam em tempo de execução. É rápido de ler em código, mas inútil para editar manualmente. Este conversor descompila um arquivo .mo de volta para a fonte em texto simples .po, para que você possa ler ou editar as traduções sem instalar gettext ou um toolchain PHP/Python.
Como usá-lo
Carregue seu arquivo .mo — o arquivo é decodificado inteiramente no seu navegador e nunca o deixa. A fonte .po descompilada aparece instantaneamente; copie-a ou baixe-a como messages.po.
O que é suportado
- Ambas as ordens de bytes — um arquivo
.mopode ser little-endian ou big-endian dependendo da máquina que o compilou. Ambas são detectadas automaticamente a partir do número mágico do arquivo, assim comomsgunfmte qualquer outro leitor gettext real. - Formas plurais — a codificação plural binária GNU gettext unida a NUL é dividida novamente em
msgid_pluralemsgstr[0],msgstr[1]indexados, …. - Contextos de mensagem — uma chave
msgctxtcompilada é dividida novamente em sua própria linhamsgctxt, correspondendo ao que foi compilado porpgettext()/_x(). - Saída de múltiplas linhas — uma string traduzida longa (mais visivelmente o cabeçalho do catálogo, com seus metadados
Content-Type/Plural-Forms) é envolvida em linhas de continuação citadas da maneira quemsgunfmta formata, em vez de uma linha insuportavelmente longa.
O que é perdido na compilação
Um arquivo .mo não carrega marcadores fuzzy ou comentários — msgfmt os remove ao compilar, e comentários do tradutor, referências de arquivo de origem e sinalizadores #, fuzzy simplesmente desaparecem do binário. Descompilar não pode recuperar o que nunca foi compilado, então a saída é apenas pares msgid/msgstr limpos.
Privacidade
Tudo acontece no lado do cliente — ler o contêiner .mo binário e renderizá-lo como texto .po ambos funcionam no seu navegador. Nada é carregado em um servidor.
A saída não parece idêntica ao meu arquivo .po original
Isso é esperado. A compilação .mo é com perdas por design (veja acima) — sinalizadores fuzzy, comentários e referências de origem não sobrevivem à viagem de ida e volta, e as entradas retornam ordenadas da maneira que msgfmt as armazenou em vez da ordem do seu arquivo original.
Preciso fazer o inverso, de .po editável para .mo compilado
Use o Conversor de PO para MO — o inverso exato desta ferramenta, também totalmente no lado do cliente.
Para editar outros formatos de tradução/configuração estruturados, consulte o Formatador de Arquivo de Propriedades Java.