2
我有一個使用Zend_Translate PHP數組處理翻譯的多語言網站。它工作正常,但我試圖轉換爲使用gettext,因爲它提供了額外的功能。如何在gettext .po文件中指定有序變量?
不過,我還沒有發現的gettext相當於功能,我在PHP數組轉換喜歡的:N $位置確定(example #4 of PHP sprintf)。
我找到了我想要什麼good example(注意如何變量的順序英語和中國是不同的):
#: wp-admin/upload.php:96
#, php-format
msgid "File %1$s of type %2$s is not allowed."
msgstr "類型爲%2$s的文件%1$s不允許被上傳。"
但我還沒有得到它爲我工作。我EN/messages.po文件中有這樣的:
#, php-format
msgid "Earn X cash"
msgstr "%1$sEarn 1-30%% cash back%2$s, get money-saving coupons, and find the best price on every purchase at %3$s2,500+ stores%4$s."
和PHP是這樣的(這已經爲翻譯的陣列式的工作,我不認爲它應該改變):
<?php echo $this->translate('Earn X cash', '<span class="earnCashBack">', '</span>', '<a href="/stores" class="numStores">', '</a>'); ?>
的HTML出來錯了,是這樣的:
$sEarn 1-30% cash back$s, get money-saving coupons, and find the best price on every purchase at $s2,500+ stores$s.
如何必須編輯這個.po文件的工作?或者我不應該使用php-mo將.po文件編譯到.mo文件中?
這是我發現可能有幫助的提示:http://php.net/manual/en/function.sprintf.php#25243 – Ryan