2009-01-29 62 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结合的东西都可以。

回答

相关问题