Javascript Translations插件,使用从ENTITY-*.dtd文件派生的JS
有这样的东西:Javascript Translations插件,使用从ENTITY-*.dtd文件派生的JS,javascript,firefox,localization,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Localization,Firefox Addon,Firefox Addon Sdk,有这样的东西: var _ = require("sdk/l10n").get; console.log(_("hello_id!")); 对于新的SDK 如何使用它来收集Firefox实体的基本翻译类型,例如:&bookmarkAllTabs.label 如何在不使用xul文件的情况下使用浏览器的翻译? 例如,我有这样一个函数,我动态地使用它: var batl = _("&bookmarkAllTabs.label;"); // for example function addM
var _ = require("sdk/l10n").get;
console.log(_("hello_id!"));
对于新的SDK
如何使用它来收集Firefox实体的基本翻译
类型,例如:&bookmarkAllTabs.label代码>
如何在不使用xul文件的情况下使用浏览器的翻译?
例如,我有这样一个函数,我动态地使用它:
var batl = _("&bookmarkAllTabs.label;"); // for example
function addMenuItemBMB(idNadane, window) {
var item = window.document.createElement("menuitem");
item.setAttribute("id", idNadane);
item.setAttribute("label", batl );
item.setAttribute("accesskey", "&bookmarkAllTabs.accesskey;");
item.setAttribute("command", "Browser:BookmarkAllTabs");
item.setAttribute("class", "menuitem-iconic subviewbutton");
return item;
}
我希望标签
显示标签的本地化名称。您不能使用SDK l10n读取或使用DTD(SDK不使用DTD)。以后不能将DOM API与DTD ENITITY-s一起使用。DTD仅由将文档源转换为其他表示形式(如DOM)的解析器处理。也没有可编写脚本的DTD解析器
如果所讨论的DTD实体应用于DOM中当前存在的某个元素,那么您可以.getAttribute()
文本,这将是最简单的操作
// bookmarkAllTabs.accesskey happens to be used by context_bookmarkAllTabs.accesskey
var batl = window.document.getElementById("context_bookmarkAllTabs");
batl = (batl && bath.getAttribute("acccesskey")) || null;
如果这是不可能的,我知道获取字符串的唯一方法是创建一个使用DTD和实体的XML文档,将其传递给,然后像上面那样从新创建的DOM中提取字符串。Nice post man。直到今天,我还不知道如何本地化,这是我迫切需要做的事情。遗憾的是,没有对dtd的支持。我必须使用这个循环过程。希望,我会在这里做,并抛出一个模块,将自动完成所有事情,所以如果我想。