一尘不染

Thymeleaf不在某些语言环境中呈现消息内的变量

spring-boot

我的messages.properties文件中有一个键的文本,其中包含变量:

some.key=You'll need to pay {0} {1} in order to continue.

我在应用程序支持的两种语言环境中都有它:messages.properties英语和messages_tr.properties土耳其语(默认值Locale)。

因此,当我使用土耳其语区域设置呈现页面时,此方法有效:

我得到:

Some Turkish words 10 USD some other Turkish words.

因此,{0} {1}将替换为金额和货币。但是当我用英语渲染页面时却没有:

You'll need to pay {0} {1} in order to continue.

我究竟做错了什么?谢谢。


阅读 217

收藏
2020-05-30

共1个答案

一尘不染

看起来问题出在单引号中。

这里

单引号用于表示消息格式中将不格式化的部分。单引号本身必须通过使用两个单引号(’‘)进行转义

因此,您在messages.properties中的消息应为:

You''ll need to pay {0} {1} in order to continue.

2020-05-30