我試圖讓我的頭繞着i18n與催化劑。就我所瞭解的事情而言,有兩種使用Perl進行翻譯的方法:Maketext和Gettext。但是,我有要求支持gettext的.po格式,所以基本上我會用gettext。如何將Catalyst和ngettext結合起來?
現在,我已經找到了Catalyst :: Plugin :: I18n,因此Locale :: Maketext :: Lexicon,它可以做我想要的大部分時間。然而,它不會生成適當的複數形式,即正確地寫入msgid_plural
和msgstr[x]
進入.pot文件。發生這種情況可能是因爲Maketext依賴於它的括號符號[quant,_1...]
,因此必須在翻譯中使用相同的符號。
另一種解決方案可能是使用一些直接的gettext端口,如Locale :: Messages,但是這意味着重寫C :: P :: I18n。
除了重寫幾個模塊之外,有沒有人有解決這個問題的適當解決方案?任何將適當的gettext與其所有功能和Catalyst結合的東西都可以。
當然我讀過,但它主要是談論C :: P :: I18N,我提到過需要一些補丁...... – 2009-01-30 19:41:25