在gwt.xml中设置区域设置不起作用

在我的模块xml文件中,我有这个:

            

但每次当我尝试使用locales时,它都会返回默认的英语。

  LocaleInfo.getAvailableLocaleNames(); this return Array of String with only one value - default 

如果我设置它有效,但只有德国没有其他人!

先谢谢你!

由于gwt.xml无效,我在运行应用程序时出错。

 [Fatal Error] :13:53: Element type "set-configuration-property" must be followed by either attribute specifications, ">" or "/>". 

value之前放置一个空格,如下所示:

  

我在相同的背景下发布了一个答案。

请查看如何将语言环境设置为GWT DateBox

German(de)语言环境的屏幕截图:

在此处输入图像描述

French(fr)语言环境的屏幕截图:

在此处输入图像描述


完整代码:

注意:只需将com.gwt.test.client.GWTTestProject更改为gwt.xml文件中的实际入口点clas。

gwt.xml

                       

入口点类

 import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.Map; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DefaultDateTimeFormatInfo; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_de; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_en; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_es; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_fr; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_ru; import com.google.gwt.i18n.client.impl.cldr.DateTimeFormatInfoImpl_zh; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.datepicker.client.DateBox; public class GWTTestProject implements EntryPoint { public static final native String getLanguage() /*-{ return navigator.language; }-*/; public void onModuleLoad() { System.out.println(Arrays.toString(LocaleInfo.getAvailableLocaleNames())); loacleDate(); } public void loacleDate() { Map formats = new HashMap(); DefaultDateTimeFormatInfo formatDE = new DateTimeFormatInfoImpl_de(); DefaultDateTimeFormatInfo formatEN = new DateTimeFormatInfoImpl_en(); DefaultDateTimeFormatInfo formatFR = new DateTimeFormatInfoImpl_fr(); DefaultDateTimeFormatInfo formatES = new DateTimeFormatInfoImpl_es(); DefaultDateTimeFormatInfo formatZH = new DateTimeFormatInfoImpl_zh(); DefaultDateTimeFormatInfo formatRU = new DateTimeFormatInfoImpl_ru(); formats.put("de", formatDE); formats.put("en", formatEN); formats.put("fr", formatFR); formats.put("es", formatES); formats.put("zh", formatZH); formats.put("ru", formatRU); for (String key : formats.keySet()) { System.out.println(key + " - " + formats.get(key).dateFormat()); } String language = getLanguage(); DefaultDateTimeFormatInfo format = formats.get(language); DateTimeFormat dateFormat = null; if (format == null) { dateFormat = DateTimeFormat.getFormat(LocaleInfo.getCurrentLocale() .getDateTimeFormatInfo().dateFormatShort()); } else { dateFormat = DateTimeFormat.getFormat(format.dateFormatFull()); } System.out.println("Date formatted:" + dateFormat.format(new Date())); DateBox dateBox = new DateBox(); dateBox.setFormat(new DateBox.DefaultFormat(dateFormat)); RootPanel.get().add(dateBox); } } 

HTML

      Web Application Starter Project      

确保为应用程序设置区域设置 – 以HTML格式或通过URL参数。 例如,您可以在HTML中包含此内容:

  

另外,删除这些行:

   

我正在关注GWT指南中提供的示例,我从未遇到过语言环境问题。

首先请记住,i18n语言环境在gwt: run-codeservergwt: run-codeserver 不正常 ,因此必须在完全编译后进行测试。

并没有理由这两行,只是消除它们使其工作: