为什么GWT会忽略浏览器区域设置?

cle*_*tus 6 browser gwt

GWT从locale属性或语言环境查询字符串中获取语言环境.如果两者都未指定,则使用"默认"(即en_US)语言环境.

为什么不从浏览器设置中获取它?

似乎唯一的解决方案是用JSP读取浏览器语言环境并使用查询字符串设置语言环境或重定向等替换静态html启动页面.必须有一个比这个更好的解决方案,或者只是硬编码一个语言环境,当然?

lja*_*der 6

您也可以将此开关放在*.gwt.xml中

<set-configuration-property name="locale.useragent" value="Y"/>
Run Code Online (Sandbox Code Playgroud)

这将根据浏览器中选择的语言添加语言选择.您还可以通过设置来控制区域设置的搜索顺序

  <set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent"/>
Run Code Online (Sandbox Code Playgroud)

但请注意,在IE中这不起作用 - 您应该根据IE发送的"Accept-Language"标题开发服务器端语言选择.


Dre*_*ejc 3

如果您将可用语言列表放入 *.gwt.xml 文件中,默认情况下它将切换到列出的第一种语言。

<!-- Slovenian in Slovenia -->
<extend-property name="locale" values="sl"/>

<!-- English language, independent of country -->
<extend-property name="locale" values="en"/>
Run Code Online (Sandbox Code Playgroud)