tengo algo como:¿Cómo formatear el mensaje con nombres de argumento en lugar de números?
String text = "The user {0} has email address {1}."
// params = { "Robert", "[email protected]" }
String msg = MessageFormat.format(text, params);
Esto no es bueno para mí, porque a veces mis traductores no están seguros de lo que pasa en el campo {0} y {1}, también sería bueno poder reformular los mensajes sin preocuparse por el orden de los argumentos.
Me gustaría reemplazar los argumentos con nombres legibles en lugar de números. Algo como esto:
String text = "The user {USERNAME} has email address {EMAILADDRESS}."
// Map map = new HashMap(... [USERNAME="Robert", EMAILADDRESS="[email protected]"]
String msg = MessageFormat.format(text, map);
¿Hay una manera fácil de hacer esto?
Gracias! robo
Commons Lang tiene StrSubstitutor – Ramon
Puedo estar equivocado, pero parece que [JTPL] (http://jtpl.sourceforge.net/) puede ayudarte. – Nishant
Relacionados: http://stackoverflow.com/q/2286648/435605 –