使用资源包和 MessageFormat 是否有可能得到以下结果?
- 当我打电话
getBundle("message.07", "test")
给"Group test"
- 当我打电话
getBundle("message.07", null)
给"No group selected"
我在 Internet 上找到的每个示例都与行星、磁盘上的文件等有关。
我只需要检查资源包的属性文件中是否存在null
(或不存在)一个参数。我希望为空参数找到一种特殊的格式,例如{0,choice,null#No group selected|notnull#Group {0}}
.
我用来获取捆绑包的方法是:
public String getBundle(String key, Object... params) {
try {
String message = resourceBundle.getString(key);
if (params.length == 0) {
return message;
} else {
return MessageFormat.format(message, params);
}
} catch (Exception e) {
return "???";
}
}
我也将此方法用于其他捆绑包,例如
getBundle("message.08", 1, 2)
=>"Page 1 of 2"
(总是参数,不需要检查null
)getBundle("message.09")
=>"Open file"
(无参数,无需检查null
)
我应该在我的 .properties 文件中写什么message.07
来描述结果?
我现在拥有的是:
message.07=Group {0}
message.08=Page {0} of {1} # message with parameters where I always send them
message.09=Open file # message without parameters