【发布时间】:2015-09-23 04:11:32
【问题描述】:
我正在使用 .properties 文件进行消息国际化。例如:
HELLO_WORLD = Hello World
HELLO_UNIVERSE = Hello Universe
然后在 Java 代码中:
String foo = resourceBundle.getString("HELLO_WORLD");
像"HELLO_WORLD" 这样的字符串文字是有问题的,因为它们容易出错并且不能自动完成。我想从属性文件中的键生成代码,如下所示:
public interface Messages { // Or abstract class with private constructor
public static final String HELLO_WORLD = "HELLO_WORLD";
public static final String HELLO_UNIVERSE = "HELLO_UNIVERSE";
}
然后像这样使用它:
String foo = resourceBundle.getString(Messages.HELLO_WORLD);
有没有标准的方法来做到这一点?我更喜欢 Maven 插件,但我可以手动运行的任何独立工具都足以满足我的需求。
【问题讨论】:
-
这听起来很像Android开发中的资源系统……不知道能不能用于非Android项目?
-
你想使用这个owner.aeonbits.org/docs/welcome 吗?它还提供了其他有用的功能,您可能会感兴趣,例如重载和热重载。
标签: java internationalization code-generation properties-file