通过Bab国际化python2.6应用程序

2024-04-25 13:48:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在评估Windows下的babel0.9.5[1]以便与python2.6一起使用,但我们无法通过阅读文档或google来回答以下问题。在

1)我想用ungettext的缩写。在这个问题上,人们是否应该使用“n”还是“n”呢?在

n嫒似乎不起作用。巴别塔不提取文本。在

N嫒似乎部分起作用。Babel像提取gettext一样提取文本,但不格式化ngettext(缺少复数参数和msgstr[n]。)

2)在创建POT文件时,有没有一种方法可以设置初始msgstr字段,如下所示?在

我怀疑有一种方法可以通过babelcfg文件来实现,但是我一直无法找到babelcfg文件格式的文档。在

“项目Id版本:项目版本\n” “语言团队:en逖US\n”

3)是否有办法在我们的采购订单文件中保留“过时”的msgid/msgstr?当我使用Babel update命令时,新创建的过时字符串用前缀标记,但现有的过时消息字符串将被删除。在

谢谢, 马尔科姆

[1]http://babel.edgewall.org/


Tags: 文件项目方法字符串文档文本版本windows
2条回答

回答问题2):

如果通过pybabel extract运行Babel,则可以通过 project version选项设置{}。在

如果您通过setup.py extract_messages运行Babel,那么Project-Id-Version将从发行版(项目名称和版本)中获取设置.py文件)。在

这两种方法都支持用于设置POT元数据的选项 msgid-bugs-address和{}。在

默认情况下,pybabel extract识别以下关键字:_gettextngettextugettextungettextdgettextdngettextN_。使用^{} option添加其他。N_通常用于NULL-translations(也称为延迟翻译)。在

更新:选项-k可以列出要放入目录的函数的参数。所以,如果您使用n_ = ngettext,请尝试pybabel extract -k n_:1,2 ...。在

相关问题 更多 >