转载自:http://www.hackbase.com/tech/2012-02-27/65972.html
编辑生成.mo文件
我们在弄网站的时候很可能会接触到.mo和.po文件。.po文件是GNU gettext项目的一套应用规范,“po”是: Portable Object(可跨平台对象)的缩写。.mo文件是二进制格式文件,通常我们要更改网站语言,需要对该文件进行反编译,得到.po文件,然后用相应的程序 打开.po文件进行编辑后再行打包成.mo文件。
WordPress的世界里, 我们经常可以看到很多汉化的主题,其一般是通过一个汉化过的 .mo 文件来实现( WordPress 仅可识别 .mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 .po 文件或 .mo 文件来实现多语言版本。如果原作者提供了一个 .po 文件或 .mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。
在Windows里面,很多人用PoEdit软件来编辑.po文件,然后再保存为.mo文件(PoEdit下载:
)。事实上,有软件可以直接编辑.mo文件。下面主要说说在Linux下,我们修改.mo文件的多种方法:
一、直接修改.mo文件
事实上,在Linux世界里有软件可以直接打开.mo文件以供编辑,这款软件叫——
Virtaal,它是一款图形化的翻译工具。可以直接从源里安装该软件:
1: yum install virtaal -y
也可以去下载其它平台下的该软件(包括Windows平台),。
打开.mo文件后,直接编辑,编辑好后点击“File”菜单下的“保存”,此时会弹出对话框要求填入你的Email地址及Team名,也可以预先在“Edit”菜单下的“首选项”里填好,如:
二、先反编译成.po文件
这要使用到GNU Gettext下的两个软件:
msgunfmt和
msgfmt。首先也是先安装需要用到的软件:
1: yum install gettext –y
也可以去下载Windows平台的该软件:
。
Linux下安装好它后,在.mo文件所在目录执行:
1: msgunfmt ./*.mo -o ./out.po
即可反编译生成.po文件,然后用Gedit打开该.po文件进行编辑。编辑好后,再执行下面的语句进行重新打包:
1: msgfmt ./out.po -o ./out.mo
Windows下在“命令提示符”界面操作步骤一样。只是把程序名后面加上".exe"。
参考百度知道:
编辑mo文件需要的工具叫gettext,运行该包里面的命令:
msgunfmt.exe mo文件名 -o po文件名
然后用poedit,对english.po进行编辑、翻译,完成后再运行:
msgfmt.exe -o mo文件名 po文件名
可重新编译成mo。