2011-11-18 113 views
0

我用嫩枝,我想作以下內容翻譯:翻譯內容和HTML標記

{% 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

首先,你應該使用transchoice與explicit interval pluralization,像這樣:

{% 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

您可以使用trans樹枝文件管理器,其中的鍵代表您的句子。

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

但這個解決方案的問題是翻譯者不能改變句子中單詞的順序。這在某些語言中尤爲重要。 – lepix