获取browser language 有两中方法:
方法一:通过window.navigator对象获取browser language 的设置.
window.navigator.userLanguage;
window.navigator.systemLanguage;
window.navigator.browserLanguage;
注:经尝试发现该方法只能得到系纺语言,如果改变browser 的语首选语言设置,再次用上述方法得到的值不变.
方法二:根据HTTP 请求属性值重得到客户端browser支持的语言列表,取首设置.
Accept-Language 是HTTP 请求里面的一个属性,用于告诉服务器浏览器可以支持什么语言。 如果网站支持多语种的话,可以使用这个信息来决定返回什么语言的网页 。
String language = request.getHeader("Accept-Language");
#result:en-us,en;q=0.5
String resultLang = language.split(",")[0];
示例:
Accept-Language: en-us,en;q=0.5
这里en-us和en是表示英文.
默认情况下,IE使用Windows default locale 来决定Accept-Language 属性。Windows default locale 可以通过Win32 API函数 GetUserDefaultLCID来取得。
另外,shell API 提供 GetAcceptLanguages 函数来取得IE的Accept-Language 。