我正在将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文件中只生成第一个(单数)字符串。
答案 0 :(得分:3)
我没有将它用于Python,目前无法测试,而是尝试使用--keyword=_pl:1,2
。
来自GNU gettext docs:
- 关键字[= keywordspec]” 要查找的其他关键字(没有keywordspec意味着不使用默认关键字)。
如果keywordspec是C标识符id,则xgettext在每次调用函数或宏id的第一个参数中查找字符串。如果keywordspec的形式为'id:argnum',则xgettext会在调用的argnumth参数中查找字符串。如果keywordspec的形式为'id:argnum1,argnum2',则xgettext会在argnum1st参数和调用的argnum2nd参数中查找字符串,并将它们视为具有多个处理的消息的单数/复数变体。