生成复数形式到 .pot 文件中

发布于 2024-07-16 23:46:36 字数 326 浏览 6 评论 0原文

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

self.write_info(_pl("%(num)d 条轨道已检查", "%(num)d 条轨道已检查", Song_obj.song_count) % {"num" : Song_obj.song_count})

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

I'm internationalizing a python program and cant get plural forms into the .pot file. I have marked string that require plural translations with a _pl() eg.

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

Then I'm running:
xgettext --language=Python --keyword=_pl --output=output.pot *.py
Only the first (singular) string is generated in the pot file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凯凯我们等你回来 2024-07-23 23:46:36

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

来自 GNU gettext 文档

--关键字[=关键字规范]'
要查找的其他关键字(没有关键字规范意味着不使用默认关键字)。

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

I haven't used this with Python, and can't test at the moment, but try --keyword=_pl:1,2 instead.

From the GNU gettext docs:

--keyword[=keywordspec]’
Additional keyword to be looked for (without keywordspec means not to use default keywords).

If keywordspec is a C identifier id, xgettext looks for strings in the first argument of each call to the function or macro id. If keywordspec is of the form ‘id:argnum’, xgettext looks for strings in the argnumth argument of the call. If keywordspec is of the form ‘id:argnum1,argnum2’, xgettext looks for strings in the argnum1st argument and in the argnum2nd argument of the call, and treats them as singular/plural variants for a message with plural handling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文