基于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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 127a9994f755fd577b43370a0be102af636e9d14ea0831830fac9428f2aac2cc |
|
MD5 | 468cde55d63b5b6c48ef16ddca443d8a |
|
BLAKE2b-256 | 4a6093efda83511189448ae50b29baf8b8e3a252f26feac57ab73f910baa2151 |
z3c.recipe.i18n-2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6b909ea923c323a237c919f6d4198a4876123406b6adfa03d6d0609e1b88a5ad |
|
MD5 | 63b4a2bf80a8c5a719316dfacc0e62ce |
|
BLAKE2b-256 | 81f007e7635ceb139dc5ed29b2b3485778cf7a361230c4585f2e03d2b3ec8fb7 |