跳到主要内容

MO 到 PO 转换器

将 GNU gettext 二进制 .mo 文件反编译回可读的 .po 翻译源。完全在浏览器中运行 — 无需上传。

输入

Drop a file or browse
One file · any type

选择 .mo 文件。文件在本地解码 — 永不上传。

输出

PO 输出
 
这对您有帮助吗?

使用此工具的更多方式

REST API

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…"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `mo-to-po` tool (MO to PO Converter) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/mo-to-po/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="MO 到 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>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次 API/MCP 调用费用5 积分起

也可通过

使用指南

.mo(Machine Object)文件是 GNU gettext 翻译目录的编译二进制形式 — 这是 PHP、Python、glibc 和 WordPress 在运行时实际加载的格式。它在代码中读取速度快,但手动编辑毫无用处。此转换器将 .mo 文件反编译回纯文本 .po 源,因此您可以无需安装 gettext 或 PHP/Python 工具链即可读取或编辑翻译。

使用方法

上传您的 .mo 文件 — 该文件完全在浏览器中解码,永远不会离开浏览器。反编译的 .po 源会立即出现;复制它或下载为 messages.po

支持的功能

  • 两种字节序.mo 文件可以是小端序或大端序,具体取决于编译它的计算机。两者都从文件的魔数自动检测,就像 msgunfmt 和所有其他真实 gettext 读取器一样。
  • 复数形式 — GNU gettext 的 NUL 连接二进制复数编码被拆分回 msgid_plural 和索引的 msgstr[0]msgstr[1] 等...。
  • 消息上下文 — 编译的 msgctxt 密钥被拆分回其自己的 msgctxt 行,与 pgettext()/_x() 编译的内容匹配。
  • 多行输出 — 长翻译字符串(最明显的是带有 Content-Type/Plural-Forms 元数据的目录标题)按 msgunfmt 格式化的方式跨引用继续行进行换行,而不是一行难以阅读的长文本。

编译中丢失的内容

.mo 文件不包含模糊标记或注释 — msgfmt 在编译时会删除它们,翻译人员注释、源文件引用和 #, fuzzy 标志在二进制文件中会完全消失。反编译无法恢复从未编译过的内容,因此输出只是干净的 msgid/msgstr 对。

隐私

一切都发生在客户端 — 读取二进制 .mo 容器和将其呈现为 .po 文本都在浏览器中运行。没有任何内容上传到服务器。

输出看起来与我的原始 .po 文件不相同

这是预期的。.mo 编译的设计本身有损失(见上文)— 模糊标记、注释和源引用不会在来回过程中保留,条目返回时按 msgfmt 存储它们的方式排序,而不是按原始文件的顺序。

我需要反向操作,从可编辑的 .po 到编译的 .mo

使用 PO 到 MO 转换器 — 此工具的精确反向,也完全在客户端运行。

对于编辑其他结构化翻译/配置格式,请参阅 Java 属性文件格式化程序

gettextmo filepo filemsgunfmttranslation filei18nl10nlocalizationwordpress translationdecompile momo to po

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。