The 官方文档 http://code.google.com/chrome/extensions/i18n.html建议检索字符串以进行国际化,如下所示:
document.querySelector("#appname").innerHTML = chrome.i18n.getMessage("appname");
但是,新标签页和标签内设置页面等内置页面的源代码(示例)使用不同的方法,不需要设置额外的 JavaScript 命令:
<title i18n-content="appname"></title>
我尝试在我自己的网络应用程序和扩展中使用它,但我似乎无法让它工作。
有人能解释一下吗?是否可以在 Web 应用程序和扩展中使用它?
UPDATE:我已将穆罕默德·曼苏尔的回复标记为已接受,因为从技术上讲它是正确的。如果有人正在寻找基于 JavaScript 的解决方案,我已经在下面发布了我自己的答案。
你正在看两个完全不同的东西。我将简要解释一下。
For the first链接,它指的是 Google Chrome Extensions API。如果您制作 Chrome 扩展程序,那么您可以使用其内部化支持 API 来做到这一点。这“仅”适用于 Google Chrome 中的扩展程序。
For the second链接,它指的是 Google Chrome 浏览器中的 DOMUI。这是专门为 Google Chrome 制作的!当我们为 Google Chrome 创建选项页面 (chrome://options/) 时,我们需要支持多种国际化,而在 Google Chrome 中,所有这些都是用 C++ 完成的。由于 DOMUI 页面与 Chrome 浏览器 UI 和 Core 进行交互,因此我们从 DOMUI(选项页面)和 C++(浏览器)发送回消息。此实现专门针对 Google Chrome 内部。
总结
- 您不能在普通的 Web 应用程序中使用上面提到的任何一种方法。它们不是为此而生的。有很多库(如果你用 Google 搜索的话)提供 JavaScript 内化支持。我想到的一个是 Closure Library。
- 对于扩展程序,请使用上面提到的 Chrome 扩展程序文档。
- 对于想要实现具有内部化支持的 DOMUI 的 C++ 应用程序,请随意从 Chromium 复制一些代码并在您自己的项目中使用它。
我希望事情能够澄清。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)