2011-09-13 70 views
1

为了使我的GWT应用程序国际化的,我创建了一个消息界面如下: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没有任何作用,并且应用程序仍然是法语!

回答

1

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

带有-extra的第一个编译只是在生成“骨架”属性文件时的“帮助”;你可以自己写(如果你知道该写什么的话)。

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