Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器端的GWT I18N_Java_Gwt_Servlets_Internationalization - Fatal编程技术网

Java 服务器端的GWT I18N

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功能

实现GWT服务器端国际化的最佳方式是什么

  • 使用本机Java属性文件(不确定如何读取和定位正确的语言文件)(unicode字符串需要ASCII编码)

  • 使用-GWT模块,在客户端和服务器上无缝使用GWT I18N,并使用“java.lang.reflect.Proxy方法”

  • 使用-

  • 其他想法

  • 如何在客户端和服务器之间查找和传递本地化


    在服务器端,我有一个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");