我有多个消息文件(messages_en.properties
,messages_ch.properties
)
这些文件有一些静态的html文本&需要一些动态输入参数,例如username
,以便它会说Dear {0}, thanks for subscription....
现在我需要在从适当的文件中读取这些内容后替换username
。
我怎么能用Java做到这一点?是否有可用的框架示例代码?
答案 0 :(得分:2)
String result = MessageFormat.format(
"Dear {0} , thanks for subscription....", username);
您可以将其与ResourceBundle getString
方法结合使用,通过其键从属性文件中读取消息,然后输出格式化的,动态填充的消息。
答案 1 :(得分:2)
请参阅I18N trail。该教程的Nutshell版本,使用更新的API方法:
ResourceBundle messages = ResourceBundle.getBundle("MessageBundle", Locale.getDefault());
String output = MessageFormat.format(messages.getString("msg.key"), "Mike");
根据您的实际用例,可能会有一些快捷方式(例如,Web框架通常包括通过标记库直接支持本地化,某些库包含一些繁忙的工作等)。