Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用UiBinder构建的GWT应用程序的本地化不';无法在托管模式下工作_Java_Gwt_Localization_Intellij Idea_Uibinder - Fatal编程技术网

Java 使用UiBinder构建的GWT应用程序的本地化不';无法在托管模式下工作

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

使用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-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" />