在编写 Spring Resource Bundle 时是否有单一规则来处理单引号?

2024-01-02

春天的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(使用前将#替换为@)

在编写 Spring Resource Bundle 时是否有单一规则来处理单引号? 的相关文章

随机推荐