Переводимый контент и теги HTML - PullRequest
0 голосов
/ 18 ноября 2011

Я использую Twig и хочу сделать следующий контент переводимым:

{% trans %}
You have actually <span class='messageNumber'>{{messageNumber}} message(s)</span> in your mailbox. 
{% endtrans %}

Но когда этот переводимый контент будет проанализирован POEdit и отправлен переводчикам, они увидят теги и атрибуты <span>. Что я могу сделать, чтобы избежать этого?

Я думал о том, чтобы сделать так:

{% messageNumberFormatted = "<span class='messageNumber'>"~messageNumber~"message(s)</span>" %}

{% trans %}
You have actually {{messageNumberFormatted}} in your mailbox.
{% endtrans %}

Но разве это не тяжелая или даже плохая практика для переводчиков? В этом случае они даже не видят слово «сообщение».

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Во-первых, вы должны использовать transchoice с явным интервалом , например так:

{% transchoice message_count %}
   {0}You have {{no messages}} yet|{1}You have {{one message}}|]1,+Inf]You have {{%count% messages}}.
{% endtranschoice %}

Тогда, возможно, вы могли бы использовать заменить для замены {{ открывающим тегом и }} закрывающим тегом. Я не знаю, можете ли вы напрямую связать, как это

{% transchoice message_count | replace('...') %}

Или, если вам необходимо сохранить переменную, сначала используйте , установите .

1 голос
/ 18 ноября 2011

Вы можете использовать файлатор trans с ключами, представляющими ваши предложения.

{{ you.have.actually|trans }} <span class='messageNumber'> {{ messageNumber message|trans }} </span> {{ in.your.mailbox|trans }}
...