首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.getProperty("user.language")总是返回"en“,而不是用户当前的语言设置

问System.getProperty("user.language")总是返回"en“,而不是用户当前的语言设置
EN

Stack Overflow用户
提问于 2009-11-05 22:50:43
回答 5查看 5.7K关注 0票数 2

这让我快疯了。我在asp.net页面上有一个javaApplet。在这个javaApplet中,我必须检测到用户首选的语言FireFox-Tools-Options-Content-Languages-Choose.I有3种语言,并且firstOne是西班牙语/西班牙语-通过执行以下操作

String locale= System.getProperty("user.language")+"-"+System.getProperty("user.region");我希望区域设置为"es-ES“

但是我总是得到"en-null“,而user.language总是"en”

如何在Java语言中获得userPreferred语言?

正确的结果应该是"es-ES“

有suggestions#吗?非常感谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-05 23:45:29

您需要将区域设置作为参数传递给applet...

代码语言:javascript
复制
<APPLET ...>
 <PARAM name="Locale" value="es-ES">
</APPLET>

当然,这可以由您的服务器端ASP.NET代码根据Accept-Language头来呈现。

然后,使用小程序的getParameter(String name)方法检索传入的语言环境。

票数 2
EN

Stack Overflow用户

发布于 2009-11-05 22:53:20

不知道发生了什么,但为什么不直接利用现有的java.util.Locale应用程序接口呢?

代码语言:javascript
复制
Locale locale = Locale.getDefault();

或者更好的方法是使用Applet's继承的getLocale()方法:

代码语言:javascript
复制
Locale locale = getLocale();

编辑哦,很清楚。您希望获取客户端应用程序的首选语言,而不是操作系统平台的首选语言。在这种情况下,理论上需要让JS将其传递给applet:

代码语言:javascript
复制
document.appletname.language = window.navigator.userLanguage;
票数 1
EN

Stack Overflow用户

发布于 2009-11-05 22:57:11

调用System.getProperty()返回的值与火狐首选语言无关。如果您查看一下计算机语言设置,我敢肯定您会发现en和null不是凭空出现的。现在,如何从你的applet中获得浏览器喜欢的语言是另一个问题,说实话,我没有答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1681040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档