У меня есть что-то вроде:
String text = "The user {0} has email address {1}."
// params = { "Robert", "myemailaddr@gmail.com" }
String msg = MessageFormat.format(text, params);
Это не очень хорошо для меня, потому что иногда мои переводчики не уверены, что входит в {0} и {1}, а также было бы неплохо иметь возможность перефразировать сообщения, не беспокоясь о порядке аргументов.
Я бы хотел заменить аргументы читаемыми именами вместо чисел. Примерно так:
String text = "The user {USERNAME} has email address {EMAILADDRESS}."
// Map map = new HashMap( ... [USERNAME="Robert", EMAILADDRESS="myemailaddr@gmail.com"]
String msg = MessageFormat.format(text, map);
Есть простой способ сделать это?
Спасибо! rob