Twig翻译短语里面有标签

时间:2014-11-19 20:47:14

标签: php symfony twig twig-extension

Twig版本 - 最新

Twig扩展版 - 最新


我想避免使用.po文件中的html标签

这是包含短语内链接的文字。

<p>{{ 'Click this <a href="/test/">test link</a>, friend' | trans | raw }}</p>

使用此主题的解决方案 - https://stackoverflow.com/a/11546933/2145125

<p>{{ 'Click this %a_open%test link%a_close%, friend' | trans({'%a_open%' : '<a href="/test/">', '%a_close%' : '</a>'}) | raw }}</p>

有PHP警告 Warning: gettext() expects exactly 1 parameter, 2 given

编译模板PHP代码

echo gettext("Click this %a_open%test link%a_close%, friend", array("%a_open%" => "<a href=\"/test/\">", "%a_close%" => "</a>"));

1 个答案:

答案 0 :(得分:2)

找到2个解决方案。

trans + replace = gettext()+ strtr()您可以使用命名占位符,例如%a_open%等,占位符顺序无关紧要

<p>{{ 'Click this %a_open% test link %a_close% friend' | trans | replace ({"%a_open%" : '<a href="/test/">', "%a_close%" : "</a>"}) | raw }}</p>

trans + format = gettext()+ spritf

<p>{{ 'Click this %stest link%s, friend' | trans | format('<a href="/test/">', '</a>') | raw }}</p>