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

时间:2017-05-09 13:10:46

标签: gwt locale

我在向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时,我得到了一个404“undefined.cache.js”,似乎有些东西没有编译,因为它应该但是对我来说一切看起来都一样对于正在运行的语言环境。我在这里错过了什么吗?任何提示或帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我似乎找到了这个的原因,所以我会解释一下,如果有人遇到同样的问题,我会解释它。

我的gwt.xml中有一个模块继承,它有en&amp; amp; 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 之后 模块继承。