Java 使用UiBinder构建的GWT应用程序的本地化不';无法在托管模式下工作
使用UiBinder构建的GWT应用程序的本地化是否在托管模式下工作?这不适合我。以下是我所做的: 1) 向GWT模块的XML中添加了区域设置属性Java 使用UiBinder构建的GWT应用程序的本地化不';无法在托管模式下工作,java,gwt,localization,intellij-idea,uibinder,Java,Gwt,Localization,Intellij Idea,Uibinder,使用UiBinder构建的GWT应用程序的本地化是否在托管模式下工作?这不适合我。以下是我所做的: 1) 向GWT模块的XML中添加了区域设置属性 < inherits name="com.google.gwt.i18n.I18N" / > < extend-property name='locale' values='en'/> < extend-property name='locale' values='ru'/> < set-property-f
< inherits name="com.google.gwt.i18n.I18N" / >
< extend-property name='locale' values='en'/>
< extend-property name='locale' values='ru'/>
< set-property-fallback name="locale" value="en"/>
2) 在*.ui.xml文件中标记消息,如
< ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
ui:generateFormat="com.google.gwt.i18n.rebind.format.PropertiesFormat"
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
< g:HTMLPanel>
< ui:msg description="Hello Description">Hello!< /ui:msg>
< /g:HTMLPanel>
< /ui:UiBinder>
Hello!
3) 添加了GWT编译器选项-额外
4) 编辑了这个项目。在额外文件夹中找到后缀为.GenMessages.properties的文件
5) 本地化生成的消息。将每个.GenMessages.properties文件复制到与相应的.ui.xml文件相同的文件夹中。在文件名中使用my locale重命名它,例如。
.GenMessages\u en.properties
.GenMessages_ru.properties
6) 重新编译该项目
7) 启动应用程序并更改URL中的区域设置变量以进行检查,例如
它仍然显示资源的默认英文版本
我错过了什么?我怎么能调试它呢?日志或输出中没有任何内容
我在Windows下,使用IntelliJ IDEA和Chrome作为浏览器
谢谢
更新:它不起作用,因为我在模块配置中有额外的
:(可能它覆盖了扩展属性标签中的值
我写了一个分步说明,如何使它在有人感兴趣的情况下工作。默认情况下,GWT生成以包名开头的属性文件。您是否从文件名中删除了包
在我的GWT项目中,最适合我的一件事是使用LocalizablerResource_uu2;properties作为文件名,并将它们全部保存在com/google/GWT/i18n/client
包中。查看上的GWT文档,.properties文件不必位于客户端包下。关键是确保无论您决定在哪里存储您的文件您的属性文件,请确保它所在的包也位于模块的路径中。在我的项目中,我通常将属性文件放在res包下:
com/project/gwt
com/project/gwt/client
com/project/gwt/res
com/project/gwt/res/strings
然后,主界面以及每种语言的所有单独属性文件都被置于字符串之下
<source path="res" />