是否可以获得实体的价值
<!ENTITY gatwayError "Gateway error">
使用javascript ?现在我使用
在我的xul文件中引用它们&gatewayError;
更新:ff-sidebar.xul
我<page>
内的<stringbundleset id="stringbundleset">
<stringbundle id="strings"
src="chrome://myaddon/locale/de/sidebar.properties"/>
</stringbundleset>
ff-sidebar.js
在我的var strbundle = document.getElementById("strings");
var localizedString = strbundle.getString("test");
我点击:
var strbundle = document.getElementById("stringbundleset");
这给了我以下错误
不应该
{{1}}
这给了我没有错误但没有结果。
答案 0 :(得分:2)
基本上Neil发布的是你需要做的事情(减去第一段咆哮:P)
这是一个例子(基本上是Neil链接的摘要):
您的XUL文件:
<stringbundleset id="strbundles">
<stringbundle id="strings" src="chrome://yourextension/locale/something.properties"/>
</stringbundleset>
你的something.properties(你定义你的本地化字符串key = value)。当然,您可以拥有任意数量的文件:
something=Some text for localization
something2=Some more text
您的js文件:
var strbundle = document.getElementById("strings");
var localizedString = strbundle.getString("something");
希望这有帮助。
答案 1 :(得分:1)
这适用于少数实体。例如,菜单项有时会有两个实体,文本略有不同,具体取决于菜单项的用途,然后将正确的实体复制到标签上。最糟糕的滥用是针对Thunderbird和SeaMonkey的邮件窗口中的删除菜单项,其中包含用于取消订阅新闻组,删除文件夹,取消新闻帖子,删除单个或多个邮件或使用IMAP标记从文件夹中取消删除单个或多个邮件的标签作为删除模型。呼!
如果你有很多语言环境数据,那么最好将它放在自己的.properties
文件中并使用<stringbundle>
读取它。如果您的脚本无法访问<stringbundle>
元素,则还可以从nsIStringBundle手动检索nsIStringBundleService。