使用内部<span>将元素国际化

时间:2018-07-08 21:01:14

标签: spring spring-boot internationalization thymeleaf properties-file

我正在使用Spring Boot + Thymeleaf。我想将这样的内容国际化:

<p>Already registered? <span class="link">Log In</span></p>

如果我将th:text="#{prompt}"添加到<p>标记中,则内部span将被属性值替换。

有什么方法可以将资源集中只有一个属性的<p>元素的整个文本进行国际化? (也许有占位符,或者我不知道)

1 个答案:

答案 0 :(得分:1)

您可以在属性值内为html标签添加占位符

属性:

prompt = Already registered? {0}Log In{1};

HTML:

<p th:utext="#{prompt('<span class=link>', '</span>')}"></p>

注意:我使用的是th:utext而不是th:text,因为它不能转义html。

但是,如果您仅具有两个不同的属性,那就更清楚了。例如:

<p>
    <th:block th:text='#{prompt1}'></th:block>
    <span class='link' th:text='#{prompt2}'></span>
</p>