用Java编程,创建资源文件以保存不同语言的应用程序消息的更好方法是什么?
如果我使用属性文件,则每次需要在代码中引用一条消息时,我都必须编写类似的内容:
ResourceBundle.getBundle("test.messages.messageFile").getString("Message1")
是否存在使用消息和生成代码清理器的另一种形式?也许创建一个带有引用此消息的静态常量的类?
用Java编程,创建资源文件以保存不同语言的应用程序消息的更好方法是什么?
如果我使用属性文件,则每次需要在代码中引用一条消息时,我都必须编写类似的内容:
ResourceBundle.getBundle("test.messages.messageFile").getString("Message1")
是否存在使用消息和生成代码清理器的另一种形式?也许创建一个带有引用此消息的静态常量的类?
您可以使用 ResourceBundle,但要声明它并将其用作变量。
ResourceBundle languageBundle=ResourceBundle.getbundle("test.messages.messageFile");
//later in your code you can say
languageBundle.getString("Message1");
如果你做这个变量会有所帮助public static
您可以尝试使国际化变得更容易。
这是基于注释并为参数替换提供类型安全性。
这是标准方式。但是没有什么能强迫你不将包存储在一个字段中:
private ResourceBundle messages = ResourceBundle.getBundle("test.messages.messageFile");
...
String message1 = messages.getString("Message1");
您也可以将其封装到具有以下方法的 Messages 类中:
public String getMessage1() {
return messages.getString("Message1");
}
全取决于你。