GWT 添加新的区域设置,undefined.cache.js



我在向我的 GWT 应用程序添加新语言环境时遇到一些问题。

我目前添加了两个工作正常的语言环境,en & sv。但是,我似乎无法使其适用于任何新的语言环境。我的gwt中有以下内容.xml:

<extend-property name="locale" values="sv"/>
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="fr"/>
<set-property-fallback name="locale" value="en"/>

以及这些语言的常量文件,它们都位于名为"Constants_fr.properties"、"Constants_sv.properties"等的同一个包中。

这对于 en 和 sv 工作正常,但是当我将 locale=fr 添加到 URL 时,我得到了"undefined.cache.js"的 404,似乎有些东西没有按照应有的方式编译,但对于正在工作的语言环境,一切对我来说都是一样的。我在这里错过了什么吗?任何提示或帮助将不胜感激!

似乎我已经找到了原因,所以我会解释一下它是什么,以防有人遇到同样的问题。

我的 gwt 中有一个模块继承.xml它支持 en 和 sv 的语言。在该模块中,属性设置为:

<set-property name="locale" value="sv,en" />

这显然覆盖了我自己的语言支持,因为模块继承了我的 gwt 中的行.xml是在我自己的语言支持行之后,如下所示:

<extend-property name="locale" values="sv"/>
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="fr"/>
<set-property-fallback name="locale" value="en"/>
<inherits name='com.example.module'/> //This module only had support for en & sv

为了解决这个问题,我不得不在代码中切换这些行的顺序,以便模块继承在语言行之前。另一种解决方案是添加以下行:

<set-property name="locale" value="sv,en,fr" />

在我的GWT中.xml模块继承之后

最新更新