【发布时间】:2011-02-23 14:21:31
【问题描述】:
我们正在评估 Windows 下的 Babel 0.9.5 [1] 以与 Python 2.6 一起使用,并且通过阅读文档或谷歌搜索我们无法回答以下问题。
1) 我想为 ungettext 使用类似 _ 的缩写。是否应该为此使用 n_ 或 N_ ?
n_ 似乎不起作用。 Babel 不提取文本。
N_ 似乎部分工作。 Babel 像 gettext 一样提取文本,但不为 ngettext 格式化(缺少复数参数和 msgstr[ n ]。)
2) 有没有办法在创建 POT 文件时设置初始 msgstr 字段,如下所示?
我怀疑可能有一种方法可以通过 Babel cfg 文件执行此操作,但我一直无法找到有关 Babel cfg 文件格式的文档。
"项目 ID 版本:项目版本\n" "Language-Team: en_US \n"
3) 有没有办法在我们的 PO 文件中保留“过时”的 msgid/msgstr?当我使用 Babel update 命令时,新创建的过时字符串用#~ 前缀标记,但现有的过时消息字符串会被删除。
谢谢, 马尔科姆
【问题讨论】:
-
为什么您不想只使用移植到 win32 的 GNU gettext 实用程序来提取消息? gnuwin32.sf.net
-
嗨 Bializ:安装 GNU gettext 实用程序对于我们维护自己的 PO 文件的客户来说并不方便。 Babel 实用程序的另一个优点是它们默认以 UTF-8 模式工作。我们在让 GNU gettext 实用程序始终如一地执行此操作时遇到了一些问题(它们默认为 ASCIII)。
标签: python internationalization translation gettext python-babel