Mozilla 扩展中文化的小教学(Daniel Wang )

这文件是写给非程序设计师的人的,主要是让所有人可以只看这文件就能懂如何对 Mozilla 扩展做中文化,所以如果你有不懂的地方,不是你的错,也请将问题传至作者 Daniel Wang

1. 认识扩展 .xpi 安装文件
2. 在扩展中加入中文语言包
3. 选择编辑器
4. 编辑中文语言文件
5. 编辑 install.js 文件
6. 一般注意事项

认识扩展 .xpi 安装文件

所谓的 .xpi 安装文件其实是一般的 zip 文件。解压后你应该会看到一个 install.js 安装文件还有其它的资源文件。资源文件可以有两种型式,一是另外压缩,有以 .jar 为扩展名的 zip 文件(例如 extension.jar),二是未(另外)压缩,以原本型式出现在子文件夹的文件。

extension.xpi 解压后的范例(一)

CODE
install.js
extension.jar

extension.xpi 解压后的范例(二)

CODE
install.js
resources/
+- content/
| +- content.rdf
| +- extension.xul
| +- extension.js
| +- ..
|
+- locale/
+- en-US/
+- content.rdf
+- extension.dtd
+- extension.properties
+- …

其中,在 locale 文件夹以下,你会看到其它以 ISO 语言代码为名的文件夹,如 en-US (English US 英文-美国)。中文的语言代码是 zh-TW (台湾),zh-HK (香港),与 zh-CN (中国大陆)。我们主要关心的是语言文件夹里的文件,这些和 install.js 文件都是文本文件,都可以用支持万国码文字的编辑器查看与修改。做中文化的更改会在以下几节解释。

在扩展中加入中文语言包

要在扩展里加入你的语言的语言包,首先复制一份 en-US 语言文件夹,并将之取名为你的语言代码(例如 zh-CN)。打开新的语言文件夹里的 contents.rdf 文本文件,把所有的 en-US 字改成你的语言代码,例如

CODE

变成

CODE

接下来,打开 install.js 文本文档,找如以下的程序代码(提示:找 en-US 字):

CODE
var returnval = registerChrome(LOCALE | DELAYED_CHROME, calendarLocale, “en-US/”);

把这行复制到它的下面,然後将 en-US 改到你的语言代码,例如:

CODE
var returnval = registerChrome(LOCALE | DELAYED_CHROME, calendarLocale, “en-US/”);
var returnval = registerChrome(LOCALE | DELAYED_CHROME, calendarLocale, “zh-CN/”);

接下来将扩展重新压缩成 .xpi 文件。注意修改包装后的文件夹层级应与修改前的文件夹层级一样,例如假设你的 .jar 文件原有以下的文件夹层级:

CODE
content/
locale/

它不应变成

CODE
extension/
+- content/
+- locale/

最后将 .xpi 文件拖曳到 Mozilla 重新安装扩展。如果安装成功,那么你以上动作应无误。

选择编辑器

要编辑中文语言档案,你必需要有合适的编辑器。Mozilla 有些特定的文件格式要求,所以你的编辑器最少要有以下的功能:

1. 支援 UTF-8 文字档型
2. 可选择文件是否要有万国码档案签名 BOM (Byte Order Mark, U+FEFF)
3. 支援逸出万国码 (escaped Unicode,\uXXXX) 的文字编码

可惜的是在 Windows 2000 与 XP 上的 Notepad 没有第二项的支持,所以你必须用其它的编辑器。以下是一些建议:

1. UniRed : freeware,很好用
2. SC UniPad: 测试版有字元数限制,正式版太贵了,功能好但可能不适用。

这些程序的使用请参见 Mozilla 地方化的工具

编辑中文语言文件

现在你已经有了中文语言包,不过它显示的仍是英文。接下来便是将英文介面翻译成中文。要翻译扩展你可以修改原文件,重新包装,然後重新安装,不过这过程对部份人可能过於繁杂。建议你可以直接修改 Mozilla 安装后的存档,这可以在 Mozilla 安装路径下的 chrome 子路径上看到,其出现型式依原来的资源档案是否压缩而定,例如: C:\Program Files\Internet\Mozilla1.6zh\chrome\chatzilla.jar 或是

CODE
C:\Program Files\Internet\Mozilla1.6zh\chrome\calendar\
+- content
+- locale
| +- en-US
| +- zh-CN
+- skin

(注:扩展件也可能被存到你的个人设置文件(profile)里。)

为避免文件存取冲突,你要重新储存这些文件时应先关闭 Mozilla。另外,更改的部份要在 Mozilla 重新开启後才会出现(虽然仍是要重新启动 Mozilla,这可少去重新包装 .xpi 档与安装的步骤)。

在你的语言档案夹里你会看到一个(或一些) .dtd 文件。.dtd 文件定义程式界面的文字,你会看到许多行有如以下的语法:

CODE

其中双引号内的便是界面文字,将它翻成中文即可,如

CODE

储存时将 .dtd 文件存为 UTF-8 格式。注意 .dtd 文件不得有 BOM 开头字元。

你的语言文件夹里,你可能也会看到一些 .properties 文件。这些档是做对话框文字与非固定的介面文字的定义用的。它的文字格式是逸出万国码 (escaped Unicode),例如「一」将被存成「\u4E00」。

你会看到许多行有如以下的语法:

CODE
Cancelled=Cancelled

等号後面的是界面文字,将其翻成中文,例如

CODE
Cancelled=已取消

(或)

CODE
Cancelled=\u5DF2\u53D6\u6D88

.dtd 与 .properties 文件翻译完成後就好了。记得把你的作品(locale/zh-XX/ 部份)反馈给扩展作者让大家可以使用。

编辑 install.js 文件

有些扩展的 install.js 安装文件可能会寻问使用者是否要存档到 Mozilla 的路径或个人设定档(profile),或者它可能有其它的对话框。为方便使用者,你可以翻译对话框的文字。存储时将文件存为逸出万国码格式。

如果你翻译安装文件的话,你可能需要联络扩展的作者,问是否可以制作用你的安装文件的扩展版本,或者你另外在自己的网站上提供给你的语言的版本。

一般注意事项

1. 记得要改 content.rdf (把 en-US 改到 zh-CN)
2. .dtd 文件是 UTF-8 格式,注意 .dtd 文件不得有 BOM 开头字元
3. .properties 档是用 \uXXXX 表示字符的格式
4. 存储时记得要定期查你的存储格式。
5. Mozilla 启动时有问题不会告诉你问题在那里(例如你不知道是档型错误或语法错误),所以记得一定要定时在 Mozilla 上测试。
6. 建议初次安装扩展前备份 c:/program file/mozilla.org/mozilla/chrome/installed-chrome.txt 档。如果初次安装扩展时有误,可以还原 installed-chrome.txt 然後再试一次(不用重装 Mozilla)
感谢Daniel Wang 激情制作

Explore posts in the same categories: firefox

4 Comments on “Mozilla 扩展中文化的小教学(Daniel Wang )”

  1. adipex online Says:

    adipex online

    Very useful, thanks!

  2. baby cribs Says:

    baby cribs

    Nice! Keep up the good work!

  3. buy ambien Says:

    buy ambien

    I love it!

  4. free ringtones Says:

    free ringtones

    Very useful, thanks!

Comment:

提示:如果你刚刚提交过评论,但是还没有被显示出来,请点击这里刷新一下: 刷新评论