po文件就是一个文本文件,可以直接使用文本编辑器进行编辑,你可以使用任何你想用的文本编辑器打开他,并进行相应的编辑。linux下的多语言环境的应用,大体上就是使用这种po的文件与mo文件的方式来实现的。但是,mo文件是经过编译的,也就是说不能直接使用文本编辑打开进行更改,只有po文件才可以这样去更改。今天晚上我就犯了这个错误,直接去修改mo文件,最后roboticsfaq.com就起不来了,现在好了,改好了po文件,直接使用命令编译成mo文件,就可以实现相应翻译的更改显示 了。

在linux下,可以用 msgfmt 命令将po编译成mo,而用 msgunfmt 将mo反编译成po文件。如果系统提示没有这个命令,则可以使用:

sudo apt-get install gettext

进行安装。
用法举例如下:

将po编译为mo

msgfmt zh_CN.po -o zh_CN.mo

将mo翻译变为po

msgunfmt zh_CN.mo -o zh_CN.po

参考: