春天的ResourceBundleMessageSource
uses MessageFormat
用于替换占位符({0}
)内部消息。
MessageFormat
要求单引号 ('
) 使用两个单引号 (''
) (see: 消息格式 Javadoc http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html)。但是,默认情况下,不包含任何参数的消息将不会被解析MessageFormat
,因此消息中不带参数的单引号不需要转义。
所以你的翻译必须注意两条规则在编写和维护资源包时:
- write (
''
) 如果带有单引号的消息至少包含一个占位符 ({0}
) too;
- write (
'
) 如果带有单引号的消息不包含占位符。
在编写 Spring Resource Bundle 时是否有单一规则来处理单引号?
ResourceBundleMessageSource
提供了一个名为alwaysUseMessageFormat
可以使用如果MessageFormat
应该应用于所有消息。
唯一的规则是...
为所有资源边界配置一次:
<bean
id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="alwaysUseMessageFormat" value="true" />
...
</bean>
你的翻译必须注意单一规则在编写和维护资源包时:
也可以看看为什么 Spring MessageSource 参数在某些语言环境中未正确填写 https://stackoverflow.com/questions/6332378/why-spring-messagesource-arguments-are-not-filled-correctly-in-some-locales/19187306#19187306.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)