2012-11-15 28 views
2

我有些困惑。據我知道在gettext的功能每一個文本用作MSGIDPHP:gettext函數中的HTML字符串

所以這一個:

_("My long text that I <br> because I need to ") 

應該是:

#: htdocs/index.php:8 
msgid "My long text that I <br> because I need to" 
msgstr "Translation needs different <br> inside because russian is different" 

我只是找不到gettext的任何文件()或_()去掉html標籤。

我應該像這樣取代它嗎?爲什麼?

sprintf(_("My long text that I %s because I need to "), '<br>') 

回答

2

兩者都可以正常工作,gettext不會將任何東西串出messags。不過,您可能希望不要在翻譯中包含HTML,以使翻譯工作變得更輕鬆 - 只需翻譯字符串並且不必關心HTML標記即可。當然有時候這是不可能的......

+0

問題是,它實際上是過濾我的html標籤。所以msgid是「msgid」我的長文本,因爲我需要「' – spankmaster79

+0

你用什麼來提取消息?我們在phpMyAdmin上使用標準的xgettext,它保持[html正確](https://github.com/phpmyadmin/phpmyadmin/blob/master/po/cs.po#L1890) –

+0

我們使用PoEdit for Mac,並且我仍在搜索爲什麼HTML被翻錄 – spankmaster79