/ / Spring i18n question - primavera

Primavera i18n pergunta - primavera

Eu tenho uma pergunta usando o Spring i18n. Posso passar parâmetros para mensagens i18s de outros códigos de mensagens?

Por exemplo

YesKey=Yes
NoKey=No

Message1=This is {YesKey}
Message2=This is {NoKey}

Existe alguma alternativa para isso, se eu não posso implementar.

Respostas:

2 para resposta № 1

Como eu sei, não é possível usar uma mensagem em outra mensagem simplesmente usando o nome. - Esta não é uma limitação da primavera, é uma limitação de java.text.MessageFormat.

Mas o que você pode fazer é isto:

message.properties:

YesKey=Yes
NoKey=No

Message1=This is {0}
Message2=This is {0}

código java

 MessageSource messageSource =...
String param = messageSource.getMessage("YesKey",
new Object[0], Locale.English);
String message = messageSource.getMessage("Message1",
new Object[]{param}, Locale.English);

ou em jsp (x):

 <spring:message var="param" code="YesKey" />
<spring:message var="message" code="Message1" arguments="${param}" />