如何将Mozilla附加软件中文化
作者:holywen

软件的语言包是关键
Q:什么是xpi文件?
A:xpi文件其实就是一个zip文件,但是它要求他的根目录下必须有一个install.js,用于mozilla安装和注册这个zip文件里面的各个文件。

对于mozilla来说,它的语言包中的文件安装后主要放在 MOZILLA_ROOT/chrome/里面,简体中文语言包版的对应的最重要的几个文件就是 zh-CN.jar,CN.jar,zh-CN_unix.jar,zh-CN_win.jar,zh-CN_mac.jar,
jar文件其实也是zip格式的,这些jar文件分三类,一类是和平台无关的,对应的是zh-CN.jar,另一类是区域相关的,对应的是CN.jar,还有一类是和平台相关的,对应的unix 平台上就是zh-CN_unix.jar,windows平台则为zh-CN_win.jar,苹果机平台对应的是zh-CN_mac.jar
其它的小软件,组织方式还有所变化,一般来说,它们的语言包直接放在安装包(.xpi)文件里面,xpi文件其实也是zip格式,把它解开,找到里面的locale子文件夹 里面至少有en-US等文件夹。
举个例子,mozgest 这个xpi文件,它里面的目录结构就是
mozgest.xpi
|_<mozgest>
| |_<content>
| |   |_...
| |_<locale>
|   |_<en-US>
|   | |_<mozgest>
|   |   |_语言文件...
|   |_...
|_install.js

那么,你要做一个语言包出来,只需要把这个目录结构取出来

<locale>
|_<en_US>
  |_<mozgest>
    |_语言文件...

然后把它压缩成一个包,名称可以任意,比如 mozgest_en.jar
之后,在MT(Mozilla translator)里面增加一个product(file->manage product->add),name随意,可以填mozgest,
然后只需要将 platform neutral 这一栏里面填上 mozgest_en.jar的全路径即可(也可以通过右侧浏览按钮选择路径)
完成之后,选择file->update product ->选择mozgest->ok 然后在show which columns 对话框中至少选择text:original和text:translated,
然后 OK,就会有一个列表出现了,你就可以双击text:translated列的各行,并依据text:original列的对应行来进行翻译。


翻译完成之后,就可以使用Mozilla Translator的export功能。选择export,jar file,在列表里面选择mozgest neutural
然后选择export的文件名,可以命名为mozgest_zh.jar
export之后,就可以将mozgest_zh.jar解开,并放到mozgest.xpi中。
最终mozgest.xpi的结构变为: mozgest.xpi
|_<mozgest>
| |_<content>
| |   |_...
| |_<locale>
|   |_<en-US>
|   | |_<mozgest>
|   |   |_语言文件...
|   |_<zh-CN>
|   |_...
|_install.js
并修改install.js,添加对应 registerChrome(LOCALE | DELAYED_CHROME, getFolder(mgDir, "locale/zh-CN/mozgest"));代码就可以了。

测试:
之后,就是测试该包是否能够正常安装,在安装mozilla的文件夹中有两个log文件:install_status.log和install.log,如果出错,你可以打开这个log文件看看什么地方出错了。