我已加入:
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;"
^
我做错了什么?
答案 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)。