Zope本地化提取和管理工具
项目描述
zope.app.locales
此软件包提供了一些用于提取和管理Zope软件中出现的i18n消息的功能。具体来说,i18n消息可以出现在Python代码中、页面模板中和ZCML声明中。 zope.app.locales 提供了一个工具,可以从这三个地方提取消息并将它们写入标准的gettext模板(pot 文件)。
用法
版本4.2不包含任何 *.mo 文件。它们是编译的翻译文件(*.po)。(未来的版本将再次包含它们。)
要实时生成或更新 *.mo 文件,设置以下环境变量
zope_i18n_compile_mo_files=True
要限制允许的语言,将 zope_i18n_allowed_languages 设置为语言列表。示例
zope_i18n_allowed_languages=de,en,es,fr
详细文档
国际化(I18n)和本地化(L10n)
本文件假设您已安装了Zope 3源代码和gettext工具。
创建/更新消息目录模板(POT)文件
每当您对Zope进行更改,影响i18n消息时,您需要从代码中重新提取i18n消息。为此,请从您的Zope 3源代码检查目录的utilities
目录执行i18nextract.py
$ python utilities/i18nextract.py -d zope -p src/zope -o app/locales
这将更新zope.pot
文件。请确保检查的src
目录是您的PYTHONPATH
环境变量的部分。
之后,您需要将更改合并到所有现有翻译中。您可以通过执行Zope 3检查目录的utilities
目录中的i18nmergeall.py
脚本来完成此操作
$ python utilities/i18nmergeall.py -l src/zope/app/locales
翻译
要翻译消息,您需要执行以下步骤
如果您的语言已经有了翻译并且您只想更新,请跳到步骤2。如果您想在一个新语言上开始翻译,您需要
创建一个目录
src/zope/app/locales/<lang_code>/LC_MESSAGES
使用您的语言的适当代码作为<lang_code>。请注意,指定语言的两个字母应始终为小写(例如,‘pt’);如果您还指定了一个区域,这些字母应为大写(例如,‘pt_BR’)。
将
zope.pot
模板文件复制到<lang_code>/LC_MESSAGES/zope.po
。编辑新创建的
zope.po
文件的PO头,并填写所有必要的信息。
在PO文件中翻译消息。请确保gettext语法保持完整。像poEdit和KBabel这样的工具可以帮助您。
最后,翻译完成后,使用
msgfmt
工具将PO文件编译为其二进制等效文件$ cd <lang_code>/LC_MESSAGES $ msgfmt -o zope.mo zope.po
变更
5.0 (2023-08-28)
添加对Python 3.11的支持。
停止对Python 2.7、3.5、3.6的支持。
4.3 (2022-09-12)
从存储库中删除
*.mo
文件,并在README中说明如何动态生成它们。(#7)在发布过程中自动创建
*.mo
文件,因此此版本将再次包含*.mo
文件。
4.2 (2022-06-10)
添加对Python 3.9、3.10的支持。
在ZCML提取中使路径相对。
此版本不包含任何
*.mo
文件。
4.1 (2019-06-24)
4.0.1 (2018-06-29)
重新编译翻译文件
*.mo
。
4.0.0 (2017-05-02)
添加对Python 3.5、3.6和PyPy的支持。
3.7.5 (2016-03-28)
为zcml_extraction添加测试。
删除zope.app.applicationcontrol和zope.app.appsetup依赖项。
将支持的Python版本列表添加到Trove分类器。
3.7.4 (2012-05-14)
在版本3.7.2中,msgids和默认值被强制转换为
unicode
。这太严格了,因为至少TAL提取器返回UTF-8编码的默认值。通过允许默认值为字符串来修复此问题。
3.7.3 (2012-01-06)
i18nextract错误修复:_
("msgid",mapping={...})没有默认值,就像_
("msgid")一样。以前它会在.pot文件中获得
#. Default: ""
注释。
3.7.2 (2011-12-12)
处理Unicode msgids和默认值。
为每个msgid进行源文件名的统一排序。同时按数字排序行号,而不是按字典顺序排序。
3.7.1 (2011-12-07)
修复nl翻译。
更新了巴西葡萄牙语翻译 [erico_andrei]
3.7.0 (2011-03-02)
在configure.zcml中包含zcml依赖项,通过一个zcml额外项需要必要的包,为zcml添加了测试。
使用Python的doctest模块而不是已弃用的zope.testing.doctest。
3.6.2 (2010-07-31)
更新版权信息为Zope Foundation,即使在pot模板中也是如此。
在pot模板中更新了电子邮件地址,以反映zope邮件列表的当前地址。
添加了对zope.i18n的缺失测试依赖项。
3.6.1 (2010-05-17)
更新了荷兰语和德语翻译。
3.6.0 (2009-12-28)
添加了configure.zcml,该文件在包中注册了翻译。因此,包包含其配置。(直到现在,这是在zope.app.zcmlfiles中完成的。)
3.5.2 (2009-12-22)
更新测试以正确处理Unicode。
更新了日语翻译(感谢山本隆志)。
3.5.1 (2009-01-27)
为测试添加了缺失的依赖项(zope.tal)。
3.5.0 (2009-01-26)
将提取控制台脚本的依赖项移动到extract extras_require中,以避免运行时依赖项。
修复了bug #227582(zh_CN区域设置中的大小错误)
3.4.5 (2008-07-16)
为tal_strings添加了filePattern参数,以便能够解析不仅仅是.pt文件。
更新了荷兰语翻译
3.4.4 (2008-03-05)
更新了西班牙语翻译
3.4.3 (2008-02-20)
更新了西班牙语翻译
更新了日语翻译
3.4.2 (2008-02-06)
修复并更新了俄语翻译。修复了问题#186628(俄语翻译中的错别字和错误)
3.4.1 (2007-12-12)
修复并更新了法语翻译
3.4.0 (2007-10-25)
将i18nextract脚本整合到zope.app.locales.extract中,并将其作为控制台脚本入口点公开。
3.4.0a1 (2007-04-22)
作为独立项目首次发布,对应于Zope 3.4.0a1中的zope.app.locales。
项目详情
zope.app.locales-5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8bb1b11731ba31673e9d165f01f353089166d5bedf4ffbf4d1d72069b6b4fc59 |
|
MD5 | 2dfaf7936ed278c07c75b2131cbe499d |
|
BLAKE2b-256 | 66d4a1c09a67b03e8d7aa55fd77c77767978e58ffe12102f3915b50f887eff93 |
zope.app.locales-5.0-py3-none-any.whl 的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 883119fc8159940223d4ea1cfae6a2300dd79c573f1b94c33e6e7624a98e974c |
|
MD5 | 5b4120fdc99af6ca59a45c2cbde20ffb |
|
BLAKE2b-256 | 1cdc5940716f9624d203c7b78b3691d3dbeb8068f8f470145e82115e1e682854 |