【问题标题】:GWT:Locale does not change?GWT:区域设置没有改变?
【发布时间】:2011-09-13 14:14:17
【问题描述】:

为了使我的 GWT 应用程序可国际化,我创建了一个消息接口,如下所示:

@DefaultLocale("fr")
@Generate(format =
   { "com.google.gwt.i18n.rebind.format.PropertiesFormat" }, fileName = "Messages", locales =
   { "fr", "en" })
public interface MessageResources extends Messages
{

   public static final MessageResources MR = GWT.create(MessageResources.class);

   @DefaultMessage("Identifiant")
   public String login();

   @DefaultMessage("Mot de passe")
   public String password();
}

然后我将我的项目配置为支持英语和法语如下:

<inherits name='com.google.gwt.i18n.I18N' />
    <extend-property name="locale" values="fr" />
    <extend-property name="locale" values="en" />

我使用 -extra extra 选项编译了我的项目,并复制了这两个文件。与接口在同一包中的属性。但是当我运行我的应用程序时,参数 ?Locale=en 不起作用,应用程序仍然是法语!

【问题讨论】:

    标签: java gwt internationalization


    【解决方案1】:

    属性文件是在编译时读取的,因此每次修改时都必须重新编译(GWT 编译)。

    使用 -extra 的第一次编译只是生成“骨架”属性文件的“帮助”;你可以自己写(前提是你知道在里面放什么)。

    哦,顺便说一句,它是 locale=en,而不是 Locale=en(小写 L)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多