sysdzw
小狐狸
小狐狸
  • UID32438
  • 注册日期2010-03-31
  • 最后登录2017-04-21
  • 发帖数50
  • 经验18枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
阅读:2328回复:5

如何得到当前浏览器的语言类型?

楼主#
更多 发布于:2010-06-11 22:09
比如当前我装的中文版的如何得到像“cn-ZH”这样的语言属性?如果英文版的就是“en-US”,我是想根据这个在我插件里给出相应的中英文提示信息。
各位高手有知道的吗?
zj45499
千年狐狸
千年狐狸
  • UID29472
  • 注册日期2009-07-03
  • 最后登录2014-10-06
  • 发帖数1158
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-06-11 22:09
about:config里
general.useragent.locale的键值就是你的默认语言


GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
2楼#
发布于:2010-06-11 22:09
不需要自己判断。你只要在扩展中做各种语言的字符串,然后读取。比如,我做的 HideCaption,读取 hc.properties 中名为 hc-restore 的字符串:
try {
str = Cc["@mozilla.org/intl/stringbundle;1"].getService(Ci.nsIStringBundleService).
createBundle("chrome://HFC/locale/hc.properties").GetStringFromName('hc-restore');
}catch(e) {
}
sysdzw
小狐狸
小狐狸
  • UID32438
  • 注册日期2010-03-31
  • 最后登录2017-04-21
  • 发帖数50
  • 经验18枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
3楼#
发布于:2010-06-11 22:09
我现在用是用的类似楼上的方法,不过我具体的是在每个语言包中添加个字段,然后浏览器加载时会自动加载这样的关键字符,这样我直接获取就可以了。

我在寻找由浏览器直接提供的方法,就像zj45499提供的那样的方法,应该可以通过什么方法查询到这个值的,有谁知道吗?
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2024-04-28
  • 发帖数1322
  • 经验95枚
  • 威望0点
  • 贡献值34点
  • 好评度14点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-06-11 22:09
var PS=Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
alert(PS.getCharPref('general.useragent.locale'));

  这样么?
我很懒...
sysdzw
小狐狸
小狐狸
  • UID32438
  • 注册日期2010-03-31
  • 最后登录2017-04-21
  • 发帖数50
  • 经验18枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
5楼#
发布于:2010-06-11 22:09
Cye3s
var PS=Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
alert(PS.getCharPref('general.useragent.locale'));

  这样么?
回到原帖


3q,刚刚在那边看到解决方法了,和你的差不多
https://forums.addons.mozilla.org/viewt ... f=7&t=1234
游客

返回顶部