Gwt i18n>生成属性文件

时间:2012-01-18 09:45:55

标签: gwt internationalization

我在我的东西中使用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

4 个答案:

答案 0 :(得分:2)

您应该会看到locales in GWT

上的页面

答案 1 :(得分:2)

我有同样的问题。我到处寻找答案,却找不到答案;无论是在文档中还是在stackoverflow上。

所以我在GWT gitter频道中询问并被告知使用编译器参数

-extra <destination-folder-name>

从Interface文件生成.properties文件。

日食的步骤:

  1. 选择要编译的项目
  2. [右键单击] - &gt; Google - &gt; GWT编译
  3. 在打开的窗口中,打开 Advanded 选项。
  4. 添加以下附加编译器参数-extra <destination-folder-name>
  5. 编译
  6. setting compiler option in eclipse to generate the extra files

    这应生成*.properties中的/destination-folder-name个文件。

    注意:这只会生成.properties个文件。它实际上并没有使用所有部署语言环境来编译应用程序。

    1. MyInterfaceExtension_*.properties移到MyInterfaceExtension.java文件旁边。

    2. 为每个区域设置制作副本,例如MyInterfaceExtension_fr_CA.propertiesMyInterfaceExtension_fr_FR.properties等。

    3. 翻译

    4. 然后再次运行编译过程,不带 -extra <destination-folder-name>选项。因为不再需要它了。

    5. 这将使用您启用的所有语言环境进行编译。您现在可以按常规方式部署应用程序。

      快速提示:

      为了生成.properties文件而第一次编译时,我在模块定义文件中注释掉了locales,这样编译器就不会坐在那里为每个浏览器和每个语言环境反复编译

      即。 supported_browser_count x enabled_locale_count = 5个浏览器x 3 locales = 15个编译排列,这将增加您的编译时间。

      因为,我只需要一个*_en.properties文件。

      对于第二次编译,在复制并翻译每个语言环境的属性文件后,必须启用要支持和编译的所有语言环境。

      现金:

      1. github @ niloc132:Colin Alworth
      2. github @ibaca:Ignacio Baca Moreno-Torres
      3. 帮助我解决这个问题。

答案 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。