跳转到主要内容

基于Zope3 egg的i18n地区提取配方

项目描述

z3c.recipe.i18n

这个Zope 3配方提供了不同的工具,允许从基于egg的包中提取i18n翻译消息。

变更记录

2.0 (2023-02-08)

  • 添加对Python 3.9、3.10、3.11的支持。

  • 删除对Python 2.7、3.5、3.6的支持。

1.2 (2019-06-25)

  • 通过要求更新的版本 zope.app.locales 修复了Python 3上的提取。

  • 添加对Python 3.8的支持。

  • 删除对Python 3.4的支持。

1.1 (2019-01-27)

  • 要求zope.app.locales >= 4.0以删除从那里复制的代码。

  • 添加对Python 3.7的支持。

1.0.0 (2018-01-10)

  • Python 3兼容性。

0.9.0 (2013-11-02)

  • 依赖于zc.buildout 2.0+。已删除zc.buildout 1.5中引入的功能(与2.x分支不兼容)。

  • 更新trove分类器以显示此包目前仅与Python 2.7兼容。

0.8.1 (2012-01-06)

  • 当msgmerge调用失败时,以非零状态码退出。

  • 使用subprocess而不是os.system。

0.8.0 (2010-10-07)

  • 依赖于并使用zc.buildout 1.5线的新的功能。同时已删除对zc.buildout <= 1.5.1的支持。

  • 修复了测试设置,以便使用当前的zopetoolkit包运行。确保测试仍然在旧平台上运行,尤其是Zope 2.12。

  • 使用python的doctest模块而不是已弃用的zope.testing.doctest

  • 配置文件中的错别字更正:excludeDirNames 更改为 excludeDirNames(旧名称仍然支持向后兼容)。

0.7.0 (2010-02-18)

  • 修复了测试设置,使其能够与当前包一起运行。

  • 添加了 buildout 选项 verify_domain。当设置为 true 时,i18nextract 只从 Python 文件中检索指定域的消息 ID。否则(默认和以前的行为)检索 Python 文件中所有域的所有消息 ID。

0.6.0 (2009-12-02)

  • 功能:添加了新的“headerTemplate”选项,允许指定自定义 pot 头部模板的路径。

  • 功能:添加了新的“extraPaths”选项,该选项包含在 PYTHONPATH 中。这使得例如可以与 Zope 2.11 一起使用。

  • 现在 Maker 被调用时带有额外的关键字参数。

  • 修复了依赖关系:需要 zope.app.locales 的“extract”额外功能。

0.5.4 (2009-06-08)

  • 修复了 zcml_strings 因为遵循每个包的配置 zcml 而多次收集同一路径的 bug。

  • 修复了 i18ncompile 误计算包含“.”的域的 bug,忽略了“.”之后的所有内容。

  • 现在 excludeDefaultDomain 选项实际上起作用了。

0.5.3 (2009-03-12)

  • 修复了 i18nmerge 误计算包含“.”的域的 bug,忽略了“.”之后的所有内容。

0.5.2 (2009-03-10)

  • 功能:如果 i18nmerge 脚本中不存在,则基于 *.pot 文件生成 *.po 文件。

  • 功能:实现了 i18ncompile 脚本,该脚本使用 msgfmt -o moPath poPath

0.5.1 (2009-02-22)

  • 修复测试

  • 更新文档,使其在传递给 docutils 时渲染良好。[ulif]

  • setup.py 中添加了 zip_safe 标志,以避免在使用 buildout 时出现无意义的警告。[ulif]

0.5.0 (2009-09-09)

  • 实现了 i18nextract.py 脚本的 environment 部分参数支持。这是一个定义在开始提取之前应导出的环境变量的集合的名称。

  • 初始版本

详细文档

翻译域提取

z3c.recipe.i18n

这个Zope 3配方提供了不同的工具,允许从基于egg的包中提取i18n翻译消息。

“i18n”配方可用于生成从基于 egg 的包中提取消息 ID 所需的脚本。i18nmerge 允许将它们合并到 .po 文件中。i18nstats 脚本提供了关于已翻译文件状态的概述。

注意

此 i18nextract.py 文件使用不同的语义来定义参数。该脚本提供定义 egg 包而不是单个包路径。这使得它很容易定义 eggs 作为提取消息的源。

选项

i18n 菜单接受以下选项

eggs

一个或多个 eggs 的名称,以及应包含在生成的脚本 Python 路径中的依赖项。

packages

一个或多个 eggs 的名称,消息应从中提取。注意,这与原始 zope.app.locales 实现不同。原始实现使用一个路径作为 -d 参数,该参数假设一个特定的 zope.* 包结构以及旧风格的 trunk 设置。

domain

翻译域。

output

输出文件相对于包根的路径。

maker

一个或多个可以用于附加 maker 的模块名称。此模块必须位于 Python 路径中,因为它由 zope.configuration.name.resolve 解析。有关示例 maker,请参阅 z3c.csvvocabulary.csvStrings。Maker 用以下参数调用:“path”,“base_path”,“exclude_dirs”,“domain”,“include_default_domain” 和 “site_zcml”。返回值必须是一个目录字典。

zcml(必需)

用于提取的配置内容。通常用于加载元配置。注意:要包含包之外的 ZCML 文件,可以使用 include 指令与 file 选项。例如:<include file="${buildout:directory}/etc/site.zcml" />

excludeDefaultDomain (可选,默认=False)

排除所有被视为默认域一部分的消息。如果无法确定消息的域,则这些消息位于此域中。这通常发生在页面模板片段中。(如果未使用则为False)

pythonOnly (可选,默认=False)

仅从Python中提取消息ID(如果未使用则为False)

verify_domain (可选,默认=False)

当verify_domain为False时,从Python文件中检索所有域中的所有消息,否则仅检索指定域的消息。(如果未使用则为False)

excludeDirectoryName (可选,默认=[])

允许指定一个或多个目录名,相对于包,以排除。(如果未使用则为None)

headerTemplate (可选,默认=None)

相对于构建目录的pot头模板路径。

环境

一个定义应导出在开始测试之前的一组环境变量的部分名称。可用于设置产品配置环境。

extraPaths

添加到PYTHONPATH的目录的新行分隔列表。

测试

让我们定义一些(虚假的)eggs,我们可以在我们的应用程序中使用

>>> mkdir('outputDir')
>>> mkdir('demo1')
>>> write('demo1', 'setup.py',
... '''
... from setuptools import setup
... setup(name = 'demo1')
... ''')
>>> mkdir('demo2')
>>> write('demo2', 'setup.py',
... '''
... from setuptools import setup
... setup(name = 'demo2', install_requires='demo1')
... ''')

现在检查设置是否正确

>>> ls('bin')
-  buildout

让我们创建一个最小的 buildout.cfg 文件

>>> write('buildout.cfg',
... '''
... [buildout]
... parts = i18n
... offline = true
...
... [i18n]
... recipe = z3c.recipe.i18n:i18n
... eggs = z3c.recipe.i18n
... packages = demo1
... domain = recipe
... output = outputDir
... zcml = <include package="z3c.recipe.tests" file="extract.zcml" />"
... ''' % globals())

现在,让我们运行buildout并看看我们得到什么

>>> print(system(join('bin', 'buildout')))
Installing i18n.
i18n: setting up i18n tools
Generated script '/sample-buildout/bin/i18nextract'.
Generated script '/sample-buildout/bin/i18nmergeall'.
Generated script '/sample-buildout/bin/i18nstats'.
Generated script '/sample-buildout/bin/i18ncompile'...

运行buildout后,bin文件夹包含不同的i18n脚本

>>> ls('bin')
-  buildout
-  i18ncompile
-  i18nextract
-  i18nmergeall
-  i18nstats

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

z3c.recipe.i18n-2.0.tar.gz (17.4 kB 查看哈希值)

上传时间

构建分布

z3c.recipe.i18n-2.0-py3-none-any.whl (20.0 kB 查看哈希值)

上传时间 Python 3

支持者

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