Java 服务器端的GWT I18N
实现GWT服务器端国际化的最佳方式是什么Java 服务器端的GWT I18N,java,gwt,servlets,internationalization,Java,Gwt,Servlets,Internationalization,实现GWT服务器端国际化的最佳方式是什么 使用本机Java属性文件(不确定如何读取和定位正确的语言文件)(unicode字符串需要ASCII编码) 使用-GWT模块,在客户端和服务器上无缝使用GWT I18N,并使用“java.lang.reflect.Proxy方法” 使用- 其他想法 如何在客户端和服务器之间查找和传递本地化 在服务器端,我有一个Servlet,它仍然不使用任何依赖于GWT的源代码,不这样做是否更好?我找到了这个解决方案,它看起来非常好 -在服务器端提供对gwt i18n功能
在服务器端,我有一个Servlet,它仍然不使用任何依赖于GWT的源代码,不这样做是否更好?我找到了这个解决方案,它看起来非常好 -在服务器端提供对gwt i18n功能的简单支持 其目的是允许GWT开发人员在服务器端使用其常量和消息接口(请参阅Internationalization)。该实现基于java reflect api。它从类路径(与接口相同的文件夹)加载属性文件。它支持常量、ConstantsWithLookup和消息(也支持复数)。许可证是LGPL 可以通过以下方式找到客户端当前区域设置:
LocaleInfo.getCurrentLocale().getLocaleName()
根据SO中的其他线程,我提出了这个解决方案,该解决方案还考虑了属性文件使用的编码(这可能会很麻烦,因为ResourceBundle默认使用“ISO-8859-1”): 使用此功能的方法与常规ResourceBundle使用非常相似:
private MyResourceBundle labels = new MyResourceBundle("es", "UTF-8");
String label = labels.getString(key)
或者,您可以使用默认情况下使用UTF-8的备用构造函数:
private MyResourceBundle labels = new MyResourceBundle("es");
private MyResourceBundle labels = new MyResourceBundle("es");