使用Java编程,创建资源文件以更好的方式来保存应用程序的消息以不同的语言?
如果我使用属性文件,每次我需要的时候在代码中引用一条消息我必须写这样的东西:
ResourceBundle.getBundle("test.messages.messageFile").getString("Message1")
是否存在另一种表单来使用邮件并生成代码清理程序?也许创建一个带有静态常量的类来引用这些消息?
答案 0 :(得分:0)
您可以使用ResourceBundle,但声明它并将其用作变量。
ResourceBundle languageBundle=ResourceBundle.getbundle("test.messages.messageFile");
//later in your code you can say
languageBundle.getString("Message1");
如果您创建此变量public static
答案 1 :(得分:0)
这是标准方式。但没有什么能迫使你不将捆绑存储在一个字段中:
private ResourceBundle messages = ResourceBundle.getBundle("test.messages.messageFile");
...
String message1 = messages.getString("Message1");
您也可以将其封装到具有以下方法的Messages类中:
public String getMessage1() {
return messages.getString("Message1");
}
这完全取决于你。
答案 2 :(得分:0)
您可以尝试Internationalization made easier。
这是基于注释并为参数替换提供类型安全性。