这让我快疯了。我在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#吗?非常感谢
发布于 2009-11-05 23:45:29
您需要将区域设置作为参数传递给applet...
<APPLET ...>
<PARAM name="Locale" value="es-ES">
</APPLET>当然,这可以由您的服务器端ASP.NET代码根据Accept-Language头来呈现。
然后,使用小程序的getParameter(String name)方法检索传入的语言环境。
发布于 2009-11-05 22:53:20
不知道发生了什么,但为什么不直接利用现有的java.util.Locale应用程序接口呢?
Locale locale = Locale.getDefault();或者更好的方法是使用Applet's继承的getLocale()方法:
Locale locale = getLocale();编辑哦,很清楚。您希望获取客户端应用程序的首选语言,而不是操作系统平台的首选语言。在这种情况下,理论上需要让JS将其传递给applet:
document.appletname.language = window.navigator.userLanguage;发布于 2009-11-05 22:57:11
调用System.getProperty()返回的值与火狐首选语言无关。如果您查看一下计算机语言设置,我敢肯定您会发现en和null不是凭空出现的。现在,如何从你的applet中获得浏览器喜欢的语言是另一个问题,说实话,我没有答案。
https://stackoverflow.com/questions/1681040
复制相似问题