Spring's ResourceBundleMessageSource
uses MessageFormat
for replacing placeholders ({0}
) inside messages.
MessageFormat
requires that single quotes ('
) are escaped using two single quotes (''
) (see: MessageFormat Javadoc). However, by default messages that does not contain any arguments will not be parsed by MessageFormat
, so single quotes in messages without arguments don't need to be escaped.
So your translator have to be aware of two rules in writing and maintaining resource bundle:
- write (
''
) if the message with the single quotes contains at least one placeholders ({0}
) too; - write (
'
) if the message with the single quotes contains none placeholders.
Is there a single rule to cope with single quotes in writing Spring Resource Boundle?