博客网 >

Mozilla 扩展插件中文化的小教学
作者:分类:默认分类标签:
来源:http://www.mozdev.org/notes/l10n/howto-zh.html


Mozilla 扩展插件中文化的小教学

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

认识扩展插件 .xpi 安装文件

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

extension.xpi 卸包后的范例(一)

install.js
extension.jar

extension.xpi 卸包后的范例(二)

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 文件都是文本文件,都可以用支持Unicode编码的文字编辑器查看与修改。 做中文化的更改会在以下几节解释。

在扩展插件中加入中文语言包

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

<RDF:Seq about="urn:mozilla:locale:root">
  <RDF:li resource="urn:mozilla:locale:en-US"/>
</RDF:Seq>

变成

<RDF:Seq about="urn:mozilla:locale:root">
  <RDF:li resource="urn:mozilla:locale:zh-CN"/>
</RDF:Seq>

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

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

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

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

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

 content/
 locale/

它不应变成

extension/
 +-  content/
 +-  locale/

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

选择编辑器

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

  1. 支持 UTF-8 文本文件
  2. 可选择文件是否要有Unicode码文件签名 BOM (Byte Order Mark, U+FEFF)
  3. 支持逸出Unicode编码 (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 或是

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

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

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

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

<!ENTITY alarm.units.minutes  "minute" >

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

<!ENTITY alarm.units.minutes  "" >

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

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

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

Cancelled=Cancelled

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

Cancelled=已取消

(或)

Cancelled=\u5DF2\u53D6\u6D88

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

编辑 install.js 文件

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

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

一般注意要项

  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)
<< 正确优雅地解决用户退出——JSP... / 李开复致信中国大学生:大学4年应... >>

专题推荐

不平凡的水果世界

不平凡的水果世界

平凡的水果世界,平凡中的不平凡。 今朝看水果是水果 ,看水果还是水果 ,看水果已不是水果。这境界,谁人可比?在不平凡的水果世界里,仁者见仁,智者见智。

中国春节的那些习俗

中国春节的那些习俗

正月是农历新年的开始,人们往往将它看作是新的一年年运好坏的兆示期。所以,过年的时候“禁忌”特别多。当然,各个地方的风俗习惯不一样,过年的禁忌也是不一样的。

评论
0/200
表情 验证码:

刘晓曦

  • 文章总数0
  • 画报总数0
  • 画报点击数0
  • 文章点击数0
个人排行
        博文分类
        日期归档