ResourceBundle / Propertie文件接受参数{0}中的String数组

时间:2010-04-22 19:26:15

标签: java localization resources

有没有办法将String数组传递给资源包来本地化给定键的未知数量的参数?

我有:

my.message=List of retired products: {0}

getValue(bundle, "my.message", list.toArray());

这样,只有数组中的第一项显示在结果消息中。

2 个答案:

答案 0 :(得分:0)

不,MessageFormat API中没有内置设施。您需要自己构建一个包含值的字符串。 E.g:

StringBuilder products = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
    products.append(list.get(i));
    if (i + 2 < list.size()) products.append(", ");
    else if (i + 2 == list.size()) products.append(" and "); // Localize this?
}
getValue(bundle, "my.message", products);

答案 1 :(得分:-1)

我认为你需要一个for循环。