2009-04-02 10 views
3

J'internationalise un programme python et ne peux pas obtenir des formes plurielles dans le fichier .pot. J'ai marqué la chaîne qui exige des traductions plurielles avec un _pl() par exemple.générer plusieurs formes dans un fichier .pot

self.write_info(_pl("%(num)d track checked", "%(num)d tracks checked", song_obj.song_count) % {"num" : song_obj.song_count})

Je suis en cours d'exécution: xgettext --language=Python --keyword=_pl --output=output.pot *.py Seule la première chaîne (singulier) est généré dans le fichier pot.

Répondre

3

Je ne l'ai pas utilisé avec Python, et je ne peux pas le tester pour le moment, mais j'essaye --keyword=_pl:1,2 à la place.

De la GNU gettext docs:

--keyword [= keywordspec] » mot-clé supplémentaire à rechercher (sans keywordspec ne signifie pas utiliser des mots clés par défaut).

Si keywordspec est un identificateur d'identificateur C, xgettext recherche les chaînes dans le premier argument de chaque appel à la fonction ou à l'identificateur de macro. Si keywordspec est de la forme 'id: argnum', xgettext recherche les chaînes dans l'argument argnumth de l'appel. Si keywordspec est de la forme 'id: argnum1, argnum2', xgettext cherche des chaînes dans l'argument argnum1st et dans l'argument argnum2nd de l'appel, et les traite comme des variantes singulier/pluriel pour un message avec plusieurs manipulations.

+0

Merci pour votre aide, cela a fonctionné correctement. – wodemoneke