在Google Chrome中使用"i18n-content"进行国际化

木川 *_* 炎星 6 google-chrome internationalization

官方文档建议检索国际化的字符串,像这样:

document.querySelector("#appname").innerHTML = chrome.i18n.getMessage("appname");
Run Code Online (Sandbox Code Playgroud)

但是,内置页面的源代码(如新选项卡页面和选项卡内设置页面(此处为示例))使用不同的方法,不需要设置其他JavaScript命令:

<title i18n-content="appname"></title> 
Run Code Online (Sandbox Code Playgroud)

我试图在我自己的Web应用程序和扩展中使用它,但我似乎无法让它工作.

任何人都可以对此有所了解吗?是否可以在Web应用程序和扩展中使用它?

更新:我已经将Mohamd Mansour的回应标记为已被接受,因为从技术上讲它是正确的.如果有人在寻找基于JavaScript的解决方案,我在下面发布了自己的答案.

Moh*_*our 11

你正在看两个完全不同的东西.我将简要解释一下.

对于第一个链接,它指的是Google Chrome扩展程序API.如果您制作Chrome扩展程序,则可以使用其内部化支持API来执行此操作.这仅适用于Google Chrome中的扩展程序.

对于第二个链接,它指的是谷歌Chrome浏览器中的DOMUI.这是专为谷歌Chrome设计的!当我们为Google Chrome创建选项页面(chrome:// options /)时,我们需要支持多种国际化,而在Google Chrome中,所有这些都是在C++中完成的.由于DOMUI页面与Chrome浏览器UI和Core交互,我们从DOMUI(选项页面)和C++(浏览器)发回消息.此实施专门针对Google Chrome内部版.

总结

  1. 您不能在普通Web应用程序中使用上面提到的任何方法.它们不是为此而制造的.有很多库(如果你是谷歌搜索)有JavaScript内部化支持.想到的是Closure Library.
  2. 对于扩展程序,请使用上面提到的Chrome扩展程序文档.
  3. 对于要实现具有内部化支持的DOMUI的C++应用程序,请随意从Chromium复制一些代码并在您自己的项目中使用它.

我希望能把事情搞清楚.