介绍如何使用Poedit将已经编译的语言包mo文件转换为po文件。通常我们会看到一个 .mo 文件,但是这个文件是给机器看的,我们无法通过通用的文本编辑器来进行编辑,编辑器打开后是乱码。如何让这个.mo文件可以编辑呢?
.mo文件时给机器读,它还有一个对应给人读的文件,对应的是.po文件,但是需要经过转化。这就是我们今天的教程要讲解的。
要将一个 .mo 文件转换为 .po 文件,你可以使用 msgunfmt 命令,该命令是 gettext 包中的一个工具,可以将 .mo 文件转换为 .po 文件。以下是具体的操作步骤:
- 打开终端或命令提示符。将需要反编译的mo文件放在某个盘的根目录下,比如D:\w.mo,备用;
- Win+R或者点击开始->运行,然后输入cmd;
- 假如你的 Poedit 是安装在D盘的,安装位置是:D:\Program Files (x86)\Poedit ;
- 在DOS窗口输入D: 然后回车;
- 在DOS窗口输入cd加一个空格,然后输入或者右键粘贴Program Files (x86)\Poedit\GettextTools\bin\;
- 使用以下命令将 .mo文件转换为.po文件,将yourfile.mo替换为你要转换的文件名:
msgunfmt yourfile.mo -o yourfile.po
这个命令将在当前目录下创建一个新的 .po 文件,其中包含 .mo 文件中的所有文本和翻译。
- 如果你希望将转换后的 .po文件导入到 Poedit 中进行编辑,可以打开 Poedit,选择文件(File)菜单,然后点击打开(Open),并选择转换后的.po文件进行编辑。

注意,如果你想更新一个 .po 文件中的翻译,而这个 .po 文件是从一个 .pot 文件中生成的,那么你应该使用 msgmerge 命令,将新的 .pot 文件与旧的 .po 文件合并,生成一个包含新文本的新 .po 文件。以下是一个示例命令:
msgmerge -U yourfile.po yourfile.pot这个命令将更新 yourfile.po 文件中的翻译,使其与 yourfile.pot 文件中的新文本匹配。
 
