我正在使用 GWT i18n 制作一个网络应用程序。
我有一个定义的接口
public interface MyConstants extends Constants {
String value();
}
和三个属性文件:
MyConstants_en.properties
MyConstants_es.properties
MyConstants_de.properties
当我编译这段代码时,它给了我错误:
[INFO] Processing interface com.mycompany.myproject.client.i18n.MyConstants
[INFO] Generating method body for value()
[INFO] [ERROR] No resource found for key 'value'
有两种方法可以解决这个问题,
将以下行添加到 GWT 模块定义“.gwt.xml”文件中:
<set-property name="locale" value="en" />
但是,如果这样做,我将无法使用查询参数“&locale=de”指定语言环境。我的页面始终保持为英文。
添加一个额外的属性文件 MyConstants.properties,其中包含与 MyConstants_en.properties 相同的内容。它完美地工作。但是,我不想同时保留具有完全相同内容的 MyConstants.properties 和 MyConstants_en.properties。
有什么办法可以:
- 使用 URL 查询参数控制当前语言环境
- 不指定附加属性文件
- 成功构建它。
非常感谢。