Linux下编辑生成.mo文件的方法

Posted by Harid三月 - 1 - 2011 Leave comments

我们在弄网站的时候很可能会接触到.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,它是一款图形化的翻译工具。可以直接从源里安装该软件:

Fedora:

sudo yum install virtaal -y

也可以去下载其它平台下的该软件(包括Windows平台),。

打开.mo文件后,直接编辑,编辑好后点击“File”菜单下的“保存”,此时会弹出对话框要求填入你的Email地址及Team名,也可以预先在“Edit”菜单下的“首选项”里填好,如:

20110301_003二、先反编译成.po文件。

这要使用到GNU Gettext下的两个软件:msgunfmtmsgfmt。首先也是先安装需要用到的软件:

Fedora:

sudo yum install gettext -y

也可以去下载Windows平台的该软件:。

Linux下安装好它后,在.mo文件所在目录执行:

msgunfmt ./*.mo -o ./out.po

即可反编译生成.po文件,然后用Gedit打开该.po文件进行编辑。编辑好后,再执行下面的语句进行重新打包:

msgfmt ./out.po -o ./out.mo

Windows下在“命令提示符”界面操作步骤一样。只是把程序名后面加上”.exe”。

 

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《Linux下编辑生成.mo文件的方法

    • @合金, 有时候我们自己想改网站上某个地方的汉字,而且又想通过修改汉化文件来做到的话就会用到。


分享按钮