如何翻译Firefox附加组件?

时间:2011-07-25 20:44:02

标签: localization firefox-addon

尝试translate SynoExt addon

我已加入:

chrome.manifest用于

locale synoext en-US chrome/locale/en-US/
locale synoext ru-RU chrome/locale/ru-RU/

preferences.xul

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://synoext/locale/translation.dtd">

<prefwindow id="SynoPrefWindow" title="&SynoPrefWindow.title;"

并创建文件夹 chrome \ locale \ en-US chrome \ locale \ ru-RU ,文件 translation.dtd

<!ENTITY SynoPrefWindow.title "SynoExt Preferences">

我收到了错误:

<prefwindow id="SynoPrefWindow" title="&SynoPrefWindow.title;"
^

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您的根标签是prefwindow,则需要将prefwindow定义为DOCTYPE:

<!DOCTYPE prefwindow [
  <!ENTITY % translationsDTD SYSTEM "chrome://synoext/locale/translation.dtd">
  %translationsDTD;
]>

<prefwindow id="SynoPrefWindow" title="&SynoPrefWindow.title;"
            xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    ...
</prefwindow>

作为参考,您可以查看我的某个扩展程序Identity Chooser的代码。

答案 1 :(得分:0)

错误的原因是我的RU翻译文件中使用的编码不正确(ANSI而不是UTF-8)。