3

我正在对 python 程序进行国际化,但无法将复数形式放入 .pot 文件中。我已经用 _pl() 标记了需要复数翻译的字符串,例如。

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

然后我正在运行: xgettext --language=Python --keyword=_pl --output=output.pot *.py pot 文件中只生成第一个(单数)字符串。

4

1 回答 1

3

我没有在 Python 中使用它,目前无法测试,但请尝试--keyword=_pl:1,2

来自 GNU gettext文档

--keyword[=keywordspec]' 要查找的附加关键字(没有关键字规格意味着不使用默认关键字)。

如果keywordspec 是C 标识符id,xgettext 在每次调用函数或宏id 的第一个参数中查找字符串。如果keywordspec 的格式为'id:argnum',xgettext 在调用的argnumth 参数中查找字符串。如果keywordspec 的格式为'id:argnum1,argnum2',xgettext 在调用的argnum1st 参数和argnum2nd 参数中查找字符串,并将它们视为具有复数处理的消息的单数/复数变体。

于 2009-04-02T23:32:20.470 回答