2015-04-12 33 views
1

有没有办法使用JS请求特定区域设置的i18n消息?Chrome扩展i18n从特定区域设置getMessage

我正在为Youtube,
和Youtube网站扩展,用户可以更改网站语言,因此即使用户的浏览器是英文的,用户也可以用日语查看网站。
在这种情况下,如果我使用chrome.i18n.getMessage()它将检索英文信息,因此它不会与Youtube网站语言相同。

我可以很容易地获得Youtube网站的语言,并希望使用该值来请求i18n消息,但我不知道我可以在哪里发送这种参数。
只要将区域设置为chrome.i18n.setLocale('ja'),并以常规方式继续使用getMessage(),这也将非常好。

当然,我可以编写自己的函数来完成它,因为它只是一个普通的JSON文件,但如果使用chrome API的方式会更好,更容易。

回答

3

不幸的是,你不能。 i18n API不支持手动设置区域设置。

如果您需要此功能,您将不得不推出自己的国际化。

+0

再次感谢Xan。 –

+1

这就是我正在做的。当i18n API第一次出现时,没有办法改变语言,显然它仍然是不可能的。最后,我只是自己解析文件,并用同步XHR重写了API。 –

+0

以下是一个人的操作方式:https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/rD0LLcSsyY8 –