在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-codeserver
下gwt: run-codeserver
不正常 ,因此必须在完全编译后进行测试。
并没有理由这两行,只是消除它们使其工作:
- ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfiguration无法强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration
- GWT RequestBuilder – 跨站请求
- Gwt编辑器不仅具有getter / setter bean类
- 线交叉矩形 – 如何找到交叉点?
- 如何在应用程序启动时注入“登录用户”之类的“运行时”依赖项?
- Hibernate无法提取ResultSetexception
- 如何防止Hibernate + c3p0 + MySql创建大量睡眠连接?
- GWT服务exception日志记录的最佳实践
- 使用HTML5 localStorage在GWT app / widget中缓存