我想在我的应用程序中实现gwt i18n而不更改应用程序的url。有人知道吗?
答案 0 :(得分:1)
除了通过参数( queryparam )指定语言环境外,还有其他方法: cookie , meta 和 useragent
1.- queryparam :将参数locale="es"
附加到url query-string
2.- cookie :以某种方式设置cookie值并重新加载页面,在gwt中可以使用此代码:
Cookies.setCookie("foo", "nn");
Window.Location.reload();
你的模块文件中需要这一行:
<set-configuration-property name="locale.cookie" value="foo"/>
3.- meta :您必须在HTML页面中添加元标记:
<meta name="gwt:property" content="locale=es">
4.- useragent :它使用navigator.language
javascript属性,该属性通常与用户选择的桌面语言相匹配,但您必须启用它:
<set-configuration-property name="locale.useragent" value="Y"/>
您可以定义gwt如何计算设置此属性的语言环境的顺序:
<set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent"/>
您可以在I18N.gwt.xml文件中阅读更多信息。