2009-01-29 11 views
3

J'essaie de comprendre i18n avec Catalyst. Pour autant que je comprenne la question, il existe deux façons de faire des traductions avec Perl: Maketext et Gettext. Cependant, j'ai une obligation de supporter le format .po de gettext donc je vais avec gettext.Comment combiner Catalyst et ngettext?

Maintenant, j'ai trouvé Catalyst :: Plugin :: I18n et donc Locale :: Maketext :: Lexicon, qui fait ce que je veux la plupart du temps. Cependant, il ne génère pas de formes appropriées, à savoir de l'écriture pluriel des noms bien msgid_plural et msgstr[x] dans le fichier .pot. Cela se produit probablement parce que Maketext dépend de sa notation de parenthèse [quant,_1...] et doit donc avoir la même notation dans la traduction.

Encore une autre solution pourrait utiliser un port gettext direct comme Locale :: Messages, mais cela signifierait réécrire C :: P :: I18n.

Est-ce que quelqu'un a une bonne solution à ce problème en plus de réécrire plusieurs modules? Tout ce qui combine le bon gettext avec toutes ses fonctionnalités et Catalyst fera l'affaire.

Répondre

2

Vous obtiendrez probablement une meilleure réponse sur la liste de diffusion:

http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst

Je suppose que vous avez lu aussi ceci:

http://www.catalystframework.org/calendar/2006/18

+0

Bien sûr, je l'ai lu que, mais c'est surtout en parlant de C :: P :: I18N dont j'ai parlé et qui aurait besoin de correctifs ... –

+0

C'est pourquoi je vous ai suggéré de poser votre question quelque part avec les utilisateurs de Catalyst. – jrockway