Sunday, 31 May 2020
 
 
如何对 Firefox 扩展中的字符串进行本地化? Print
Written by Goofy   
Saturday, 26 January 2008
  某些时候我们所要翻译的扩展并未包含语言文件夹, 这使得我们必须到处寻找要翻译的字符串...
  其实我们同样可以新建一个语言文件夹以便于翻译人员参与翻译并广为传播...
让我们以 Harry Patsis 所开发的 anidisable 扩展为例说明一下如何对字符串进行本地化。
1

用 Izarc 或 7-Zip 打开 anidisable.xpi
ouvrir1.png

2

Chrome 文件夹下包含有另一个我们需要打开的压缩文件...
ouvrir2.png
3

很不幸,这里找不到语言文件夹...
ouvrir3.png
4

然后呢...
当然是我们自己建一个 local 文件夹!
cr�er un dossier locale
右键点击选择 "New folder" 然后重命名为 locale
5

接着我们插入一个名为 en-US 子文件夹(假定我们要制作英文语言包),子文件夹内新建两个文本文件:
- anidisable.dtd
- contents.rdf
contenu locale
右键点击选择 "New text file" 然后重命名

6


现在一起看看content/anidisable.xul 文件里面有些什么,喔!有我们想要翻译的字符串。 这些就是最终显示在用户面前的文字。

注意:建议您最好保留扩展名"Anidisable" 不翻译。

用 Pspad 或 Jedit 之类的文本编辑器打开

cha�nes � localiser

  怎么知道哪些字符串可以进行本地化呢?请看这里

7

这步至关重要!
现在我们要将尖括号要翻译的字符串替换为:
以 & 打头,紧接着一个显式地变量名,最后以 ; 结尾。
cha�nes localis�es

8

然后我们打开 en-US 文件夹下的 anidisable.dtd 文件。

请格外注意撰写的语法(参见右图的例子), 本例中我们先写上变量名,然后接着它的英文翻译。
transfert dans la locale

9

让我们回到刚才的 anidisable.xul 文件,右图中我们在第二行添加一行文字用于告诉扩展所要找寻的翻译字符串的确切位置。
ligne de doctype

10

重复 7 8 9 三个步骤用变量名替代的方法翻译 anidisablesettings.xul 中剩余的字符串

encoder en utf8
...别忘了最后保存为 UTF-8 的编码格式!

11

关于如何撰写 locale/ contents.rdf 文件请看下图。
以下内容对所有的扩展来说都是一样的,当然不包括扩展名本身了!
如果您不想花费大把时间撰写这些内容,您可以直接复制和粘贴这个文本文件中的内容。
contents
12

另外,如果想让扩展自动调用相应的语言包,我们需要在install.rdf 文件中添加右图中黄色那行文字用户告诉扩展可以根据浏览器界面语言调用相应的语言包。
ligne de locale
这样就大功告成了!接下来您只需要:

  • 重新打包为 .xpi 文件;
  • 测试一下扩展是否有问题
  • 将其发给扩展的作者。
 
ï¼›
 
 
* 如果您想尝试翻译或进行比较,这里有 anidisable 扩展的原始版本和本地化后的版本。
在其最近版本中,扩展的原始描述也可以进行翻译了:要了解如何翻译请查看这里 。
如果想知道如何翻译包含在  javascript (*.js) 文件中的字符串,请查看这里
。


包含在下列标签中的文本字符可以进行本地化:
  • "label"
  • "title"
  • "tooltip"
  • "value"
  • "accesskey"
mon avatar

Last Updated ( Sunday, 13 April 2008 )
 
 
Top! Top!