如何在Thymelaf中使用翻译中的链接(锚标签)



我有以下内容要显示,其中"这里";需要链接。

Hi, your password has been changed, Click here if it is not intended.

进行交易的最佳方式是什么。?我们需要对">嗨,你的密码已经更改,点击"以及">如果不是有意的话";

或者在百里香中有其他最简单的方法吗?

内部具有HTML格式的字符串的正确翻译几乎不可能以正确的方式进行。什么是正确的方法?Thymelaf应将翻译后的资源字符串作为转义文本(th:text(使用attribute。。。

<div th:text="#{full_string_id}">Start string Link End string</div>

其中full_string_id=Start string Link End string

这种特殊的结构对于任何国际语言都是完全可翻译的,包括RTL。只要你开始把整句话放到文章上,为每一篇文章获得特殊的格式,你就会遇到一些国际语言的麻烦,包括RTL。例如,用…表示的英语句子。。。

<span th:text="#{first_string_id}">Start string</span>
<a href="#" th:text="#{link_string_id}">Link</span>
<span th:text="#{last_string_id}">End string</span>

但另一个国际语言句子可能有合适的翻译为Link End string Start string

所以你无能为力?当然你有一些解决方案。。。

例如,您可以使用无标题文本(th:utext(,并将字符串格式保留在资源中。

<div th:utext="#{full_formatted_string_id}">Start string <a href="#">Link</a> End string</div>

其中full_formatted_string_id=Start string <a href="#">Link</a> End string表示英语,full_formatted_string_id=<a href="#">Link</a> End string Start string表示另一种国际语言

从我的角度来看,最好的解决方案是最简单的:不要在资源字符串中设置格式,只需重新措辞即可。在这种情况下,您仍然可以使用转义文本(因此,您不会影响安全性(,并且任何国际语言的翻译都可以工作。例如,使用类似Hi, your password has been changed. if it is not intended, please click the following link:的内容来代替Hi, your password has been changed, Click here if it is not intended.,并为Link title使用单独的资源字符串。

最新更新