如何解决如何在运行时强制更改 GWT 常量区域设置
对于 Spring 应用程序中的某些端点,我需要将 GWT 常量区域设置更改为 en。我可以在管理面板中更改用户语言环境。而且我想在某些情况下为某些常量强制使用 gwt 语言环境,无论用户有什么语言环境设置。我的端点与后端相关。如何强制设置 en locale?
在我的应用程序中,当我更改用户语言环境时,无论我如何获取,所有端点的所有常量都会更改 - 在浏览器或邮递员中(未在查询中指定语言环境参数)。我不知道它是如何工作的。继承 com.google.gwt.i18n.client.Constants 类的 AppContants 类没有任何设置语言环境的方法。
解决方法
语言环境选择在模块 XML 中定义。例如,以下模块添加多个区域设置值:
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.i18n.I18N"/>
<!-- Available Locales -->
<extend-property name="locale" values="pt"/>
<extend-property name="locale" values="de"/>
<extend-property name="locale" values="en"/>
<!-- Fallback -->
<set-property-fallback name="locale" value="en"/>
</module>
可以使用元标记或作为主机页面 URL 中查询字符串的一部分来指定语言环境客户端属性。如果两者都指定,则查询字符串优先。
要在主机页面中使用元标记指定区域设置客户端属性,请为 gwt:property 嵌入一个元标记,如下所示:
<meta name="gwt:property" content="locale=en">
要使用查询字符串指定语言环境客户端属性,请为名称语言环境指定一个值。例如,
https://www.example.org/myapp.html?locale=en
要强制使用所需的语言环境,您的应用应忽略管理面板中的用户设置,并使用查询字符串加载所需的语言环境。或者,如果您希望页面上的所有用户默认使用相同的语言环境,您可以将元标记设置为您想要的语言环境。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。