GWT 添加新语言环境,undefined.cache.js

GWT adding new locales, 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 中的模块继承行是 after 我自己的行像这样的语言支持:

<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之后模块继承。