我在我的东西中使用GWT,我想制作它, 国际,所以我使用GWT常量方法。
我有一个默认的java文件,我现在需要创建属性文件。
记住,有一个特殊的事情要做(或自动完成)来生成 一种模板,其中所有常量都是用其他语言的空标签生成的。
我是否梦想过这个?
(使用eclipse indigo开发webapp与gwt但不是gae)
[编辑:]
这不是梦,它是i18ncreator:
http://code.google.com/intl/fr-FR/webtoolkit/doc/latest/RefCommandLineTools.html#i18nCreator
但是我无法在windows上工作: - (
[再次编辑]
由于此问题:http://code.google.com/p/google-web-toolkit/issues/detail?id=5113
推荐的解决方案是在gwt 1.7(!)中使用i18ncreator
答案 0 :(得分:2)
您应该会看到locales in GWT
上的页面答案 1 :(得分:2)
我有同样的问题。我到处寻找答案,却找不到答案;无论是在文档中还是在stackoverflow上。
所以我在GWT gitter频道中询问并被告知使用编译器参数
-extra <destination-folder-name>
从Interface文件生成.properties
文件。
-extra <destination-folder-name>
这应生成*.properties
中的/destination-folder-name
个文件。
注意:这只会生成.properties
个文件。它实际上并没有使用所有部署语言环境来编译应用程序。
将MyInterfaceExtension_*.properties
移到MyInterfaceExtension.java
文件旁边。
为每个区域设置制作副本,例如MyInterfaceExtension_fr_CA.properties
,MyInterfaceExtension_fr_FR.properties
等。
翻译
然后再次运行编译过程,不带 -extra <destination-folder-name>
选项。因为不再需要它了。
这将使用您启用的所有语言环境进行编译。您现在可以按常规方式部署应用程序。
为了生成.properties
文件而第一次编译时,我在模块定义文件中注释掉了locales,这样编译器就不会坐在那里为每个浏览器和每个语言环境反复编译
即。 supported_browser_count x enabled_locale_count
= 5个浏览器x 3 locales = 15个编译排列,这将增加您的编译时间。
因为,我只需要一个*_en.properties
文件。
对于第二次编译,在复制并翻译每个语言环境的属性文件后,必须启用要支持和编译的所有语言环境。
帮助我解决这个问题。
答案 2 :(得分:1)
对于我的项目,我使用了i18n-Creator
http://code.google.com/webtoolkit/doc/latest/DevGuideI18n.html#DevGuidePropertiesFiles
这与你所要求的相反。使用i18n-creator,您可以为各种语言环境创建属性文件,并运行使用i18n-creator生成的脚本,它将生成常量接口。
答案 3 :(得分:0)
我还没有在Eclipse中听说过这个功能,但是IntelliJ IDEA有这个功能,你只需要创建Constants Interface类和属性文件。如果在类文件中添加方法,它将警告您添加属性或反之。 HTH。