Twig перевести фразу с тегами внутри

Версия Twig — последняя

Версия расширений Twig — последняя


Я хочу избежать html-тегов в .po файлах

Вот текст со ссылкой внутри фразы.

<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

Решение

Найдено 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>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]