Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Translations插件,使用从ENTITY-*.dtd文件派生的JS_Javascript_Firefox_Localization_Firefox Addon_Firefox Addon Sdk - Fatal编程技术网

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的支持。我必须使用这个循环过程。希望,我会在这里做,并抛出一个模块,将自动完成所有事情,所以如果我想。