2009-01-29 66 views
3

我試圖讓我的頭繞着i18n與催化劑。就我所瞭解的事情而言,有兩種使用Perl進行翻譯的方法:MaketextGettext。但是,我有要求支持gettext的.po格式,所以基本上我會用gettext。如何將Catalyst和ngettext結合起來?

現在,我已經找到了Catalyst :: Plugin :: I18n,因此Locale :: Maketext :: Lexicon,它可以做我想要的大部分時間。然而,它不會生成適當的複數形式,即正確地寫入msgid_pluralmsgstr[x]進入.pot文件。發生這種情況可能是因爲Maketext依賴於它的括號符號[quant,_1...],因此必須在翻譯中使用相同的符號。

另一種解決方案可能是使用一些直接的gettext端口,如Locale :: Messages,但是這意味着重寫C :: P :: I18n。

除了重寫幾個模塊之外,有沒有人有解決這個問題的適當解決方案?任何將適當的gettext與其所有功能和Catalyst結合的東西都可以。

回答

相關問題