我的messages.properties文件中有一个键的文本,其中包含变量:
messages.properties
some.key=You'll need to pay {0} {1} in order to continue.
我在应用程序支持的两种语言环境中都有它:messages.properties英语和messages_tr.properties土耳其语(默认值Locale)。
messages_tr.properties
Locale
因此,当我使用土耳其语区域设置呈现页面时,此方法有效:
我得到:
Some Turkish words 10 USD some other Turkish words.
因此,{0} {1}将替换为金额和货币。但是当我用英语渲染页面时却没有:
{0} {1}
You'll need to pay {0} {1} in order to continue.
我究竟做错了什么?谢谢。
看起来问题出在单引号中。
从这里:
单引号用于表示消息格式中将不格式化的部分。单引号本身必须通过使用两个单引号(’‘)进行转义
因此,您在messages.properties中的消息应为:
You''ll need to pay {0} {1} in order to continue.