2011-09-13 179 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)