跳转到主要内容

Django的额外gettext关键字处理

项目描述

© 2014-2015 Thomas Khyn

已在Django 1.4至1.8和所有支持的Python版本上测试。

关于

django的makemessage管理命令解析应用程序的代码以生成.pot和.po文件,前提是字符串是通过类似gettext的函数(gettext、ugettext、ngettext、ugettext_lazy等)或_别名调用的。

然而,使用除了_之外的其他别名相当常见,例如对于懒加载翻译,可以使用_l

在版本1.7之前,Django没有提供指定可能用于翻译字符串的其他别名的途径。此插件填补了这一空白,而无需修改django代码本身。

从版本1.7开始,可以在自定义makemessages命令中使用xgettext_options。使用此应用程序可节省编写自定义命令的麻烦。

安装

使用pip尽可能简单

pip install django-extra_keywords

然后您需要将 'extra_keywords' 添加到您的 INSTALLED_APPS 中。请注意,在生产环境中安装此应用程序没有意义,并且它可能仅在开发设置模块中使用。

用法

安装完成后,您可以

  • 在您的 settings 模块中定义 GETTEXT_EXTRA_KEYWORDS,作为一个包含您要添加的关键字的元组或列表

    GETTEXT_EXTRA_KEYWORDS = ('_l', '_n:1,2')
  • 或从命令行使用,使用 --extra-keyword 选项(没有 s,要添加多个关键字您必须重复此选项)

    manage.py makemessages [...] --extra-keyword=_l [...]

关键字格式

当使用单参数函数的别名(ugettextugettext_lazy 等)时,只需使用别名作为关键字。当使用多参数函数的别名时,您需要根据以下表格指定它们

函数类型

关键字格式

gettext*

X

ngettext*

X:1,2

pgettext*

X:1c,2

npgettext*

X:1c,2,3

示例:如果 _nungettext 的别名,则在 GETTEXT_EXTRA_KEYWORDSmakemessages 命令中使用的关键字是 '_n:1,2'

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

django-extra_keywords-1.1.2.zip (11.3 kB 查看散列)

上传时间 源代码

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面