我在我的 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/