java - 如何本地化 GWT 客户端代码中的枚举值?

标签 java gwt

我在我的 GWT 客户端代码中使用枚举类来定义一组类型。

public enum MyType {

    FIRST_TYPE("first"), SECOND_TYPE("second"), THIRD_TYPE("third");

    private String title;

    private MyType(String title) {
        this.title = title;
    }

    public String getTitle() {
        return this.title;
    }

}

如何本地化枚举值以将它们翻译成不同的语言? title 字段并不那么重要,如果这有助于解决问题,可以将其删除。

我知道 Java 中的 ResourceBundle 方法,但这不适用于 GWT 的客户端代码。

最佳答案

我设法通过使用 GWT 的 ConstantsWithLookup 接口(interface)解决了这个问题。 这是解决方案:

MyType.java

public enum MyType {

    FIRST_TYPE, SECOND_TYPE, THIRD_TYPE;

    private final MyConstantsWithLookup constants = GWT.create(MyConstantsWithLookup.class)

    public String getTitle() {
        return this.constants.getString(this.name());
    }
}

MyConstantsWithLookup.java

public interface MyConstantsWithLookup extends ConstantsWithLookup {

    String FIRST_TYPE();

    String SECOND_TYPE();

    String THIRD_TYPE();
}

MyConstantsWithLookup.properties

FIRST_TYPE = first
SECOND_TYPE = second
THIRD_TYPE = third

关于java - 如何本地化 GWT 客户端代码中的枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3757608/

相关文章:

java - Android - 使用来自网络的字符串作为对象枚举

java - 不使用 IDE 在 java 中创建 .jar 文件

java - MySQL在2个表中查找相似数据

java - 捕获所有 Tomcat (GWT) servlet 中所有未处理异常的最佳方法

gwt - 在 GWT 中使用颜色类

java - 我可以将参数传递给 GWT 模块构造函数吗?

java - 扩展 ArrayList 以支持事件

java - 在 ConcurrentHashMap 中放置线程安全的同时增加当前值?

Maven Tomcat 使用配置文件部署插件

session - 具有无限 session 的 Tomcat 中的 GWT 应用程序