gpt4 book ai didi

java - java中检测浏览器语言

转载 作者:行者123 更新时间:2023-12-01 23:56:46 24 4
gpt4 key购买 nike

我在检测用户的首选浏览器语言时遇到问题。

我发现导航器对象属性仅检测系统相关的语言。 .userLanguage 检测用户电脑的本地语言,或者任务栏中使用的语言,并通过 ControlPanel>Regional&LanguageOptions 设置,然后 .systemLanguage 检测操作系统语言,然后 .browserLanguage 检测系统的默认浏览器语言。所以这些东西都对我没有帮助。

我需要的是检测通过“工具”>“InternetOptions”设置的用户首选浏览器语言

有没有办法使用 Java 来做到这一点?

希望有人能帮助我

最佳答案

如果您可以访问 HttpServletRequest 对象,那就非常容易了。假设您在 servlet 中:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Enumeration locales = request.getLocales();
/**
*You can get the first one matches your supported local like below
*/
while (locales.hasMoreElements()) {
Locale locale = (Locale) locales.nextElement();
if (supportedLanguages.contains(locale)) {
requestLocale = locale;
break;
}
}
super.doPost(request, response);
}

如果您正在谈论在客户端检测浏览器语言。我宁愿建议你给我们JS获取浏览器语言,你可以在你的Java代码中调用js。顺便说一句,我在我的 chrome 上测试了它:

var type=navigator.appName
if (type=="Netscape"){
var lang = navigator.language
}
else{
var lang = navigator.userLanguage
}

关于java - java中检测浏览器语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15492750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com