我花了很多时间试图找到在扩展程序的Javascript代码中获取Firefox扩展的语言环境的方法。关闭我是general.useragent.locale,我认为它具有首选的本地化,但Firefox的用户语言可能完全不同。
有什么想法吗?
答案 0 :(得分:5)
尝试查询XUL包时,请查看nsIXULChromeRegistry.getSelectedLocale(package)
。
示例(查询global / toolkit包的语言环境):
Components.classes["@mozilla.org/chrome/chrome-registry;1"]
.getService(Components.interfaces.nsIXULChromeRegistry)
.getSelectedLocale('global'); // e.g "en-US"
SDK附加组件可以使用以下内容来确定自己的区域设置,但应注意此API标记为“不稳定”。
require("sdk/l10n/core").locale
SDK加载项仍然可以使用nsIXULChromeRegistry.getSelectedLocale(package)
通过chrome
模块查询其他加载项或浏览器。