我使用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 %}
但翻译人员的练习不是很重,甚至不好吗?在这种情况下,他们甚至看不到“消息”这个词。
答案 0 :(得分:2)
首先,您应该使用explicit interval pluralization进行transchoice,如下所示:
{% transchoice message_count %}
{0}You have {{no messages}} yet|{1}You have {{one message}}|]1,+Inf]You have {{%count% messages}}.
{% endtranschoice %}
然后,您可以使用replace将{{
替换为开始标记,并使用结束标记替换}}
。我不知道你是否可以像这样直接链接
{% transchoice message_count | replace('...') %}
或者,如果您必须先使用set存储在变量中。
答案 1 :(得分:1)
您可以使用trans
twig文件管理器和代表您句子的键。
{{ you.have.actually|trans }} <span class='messageNumber'> {{ messageNumber message|trans }} </span> {{ in.your.mailbox|trans }}