阅读:2488回复:5
如何得到当前浏览器的语言类型?
比如当前我装的中文版的如何得到像“cn-ZH”这样的语言属性?如果英文版的就是“en-US”,我是想根据这个在我插件里给出相应的中英文提示信息。
各位高手有知道的吗? |
|
1楼#
发布于:2010-06-11 22:09
about:config里
general.useragent.locale的键值就是你的默认语言 |
|
|
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) { } |
|
3楼#
发布于:2010-06-11 22:09
我现在用是用的类似楼上的方法,不过我具体的是在每个语言包中添加个字段,然后浏览器加载时会自动加载这样的关键字符,这样我直接获取就可以了。
我在寻找由浏览器直接提供的方法,就像zj45499提供的那样的方法,应该可以通过什么方法查询到这个值的,有谁知道吗? |
|
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')); 这样么? |
|
|
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 |
|