我们有一个 vaadin 应用程序和自定义 gwt 小部件作为外部 jar 包含在内。Widget 有自己的翻译(波兰语和英语)。问题是,当在外部应用程序中运行自定义小部件时,它确实可以正确翻译,但是当它在 vaadin 应用程序中时,无论应用程序(甚至浏览器)区域设置如何 - 它一直都是英文的。
问题是,gwt 自定义小部件如何获取有关要使用的语言的信息,是否有任何选项可以覆盖此信息(强制小部件语言/区域设置)?
我们有一个 vaadin 应用程序和自定义 gwt 小部件作为外部 jar 包含在内。Widget 有自己的翻译(波兰语和英语)。问题是,当在外部应用程序中运行自定义小部件时,它确实可以正确翻译,但是当它在 vaadin 应用程序中时,无论应用程序(甚至浏览器)区域设置如何 - 它一直都是英文的。
问题是,gwt 自定义小部件如何获取有关要使用的语言的信息,是否有任何选项可以覆盖此信息(强制小部件语言/区域设置)?
问题之一是语言环境名称不匹配。vaadin 应用程序只能针对语言标签语言环境进行翻译。例如“pl”(波兰语),gwt 小部件需要带有国家代码的语言环境,例如“pl_PL”(波兰语,波兰)。
实际的解决方案是强制 gwt 仅在元标记中搜索语言环境并创建此标记
<meta name="gwt:property" content="locale=x_X" />
在服务器端,尊重应用程序语言并且在附加任何 gwt javascripts 之前。不幸的是,这会导致语言更改后刷新页面,但我想由于 gwt 国际化方法,它不能以任何其他方式完成。