django中额外的gettext关键字处理
django-extra_keywords的Python项目详细描述
版权所有2014-2015 Thomas Khyn
使用django 1.4到1.8以及所有受支持的python版本进行测试。
关于
djangomakemessagemanagement命令解析应用程序的代码 如果要翻译的字符串是 由类似getText的函数调用(getText,ugettext,ngettext, 或者_别名。
但是,使用_以外的其他别名是很常见的,例如 懒翻译,可以使用_l
在版本1.7之前,django不提供指定其他别名的方法 可用于翻译字符串的这个插件填补了这个空白,没有 必须修补django代码本身。
在版本1.7中,可以在自定义 makemessages命令。使用此应用程序可省去编程的麻烦 自定义命令。
安装
尽可能简单,使用pip:
pip install django-extra_keywords
然后需要将'extra_keywords'添加到INSTALLED_APPS中。 请注意,将此应用程序安装在 它只能在开发设置模块中使用。
用法
安装后,您可以:
在settings模块中将GETTEXT_EXTRA_KEYWORDS定义为 包含要添加的关键字的元组或列表:
GETTEXT_EXTRA_KEYWORDS = ('_l', '_n:1,2')
或者从命令行使用它,使用--extra-keyword选项 否,若要添加多个关键字,必须重复此选项):
manage.py makemessages [...] --extra-keyword=_l [...]
关键字格式
为一个参数函数(ugettext,^{tt14})使用别名时$ …),只需将别名用作关键字。当使用多个别名时 参数函数,需要指定它们,如下所示 表格:
Function type | Keyword format |
---|---|
gettext* | X |
ngettext* | X:1,2 |
pgettext* | X:1c,2 |
npgettext* | X:1c,2,3 |
示例:如果_n是ungettext的别名,则要在中使用的关键字 GETTEXT_EXTRA_KEYWORDS或makemessages命令是'_n:1,2'。