代码之家  ›  专栏  ›  技术社区  ›  Hasan Can Saral

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

  •  0
  • Hasan Can Saral  · 技术社区  · 8 年前

    我有一条短信要我的钥匙 messages.properties 包含变量的文件:

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

    我的应用程序支持两种语言环境: 消息.属性 对于英语,以及 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.
    

    我做错什么了?谢谢。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Denis Zavedeev Brian Kelly    8 年前

    看来问题出在单引号里。

    here :

    单引号用于表示消息模式中不格式化的部分。单引号本身必须使用两个单引号('')转义

    因此,messages.properties中的消息应该是:

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