pts为zope 2提供了一种国际化(i18n'ing)和本地化(l10n'ing)软件的方法。

Products.PlacelessTranslationService的Python项目详细描述


更改日志

2.0.7(2017-02-12)

错误修复:

  • 修复从zope4中删除的全局变量的导入。 [PBAUER]

2.0.6(2016-08-11)

修复:

  • 使用zope.interface decorator。 [gforcada]

2.0.5(2014-04-16)

  • 添加了.gitignore。 [TiSTO]

2.0.4(2013-08-13)

  • 添加模块安全声明。阻止发布 翻译法。(修复自plonehotfix2010618。) [大卫萨格里]

2.0.3(2011年11月24日)

  • 在未能重新加载惰性目录后防止出现异常。 这将关闭http://dev.plone.org/ticket/9726" rel="nofollow">http://dev.plone.org/ticket/9726 [大卫萨格里]
  • 确保使用five:registerpackage注册的包 在zope 2.13(plone 4.1)中搜索i18n目录。 [毛里塔尼亚]
  • 使产品init与zope trunk兼容。 [Erro ]

2.0.2-2010年10月27日

  • 修正了 目录中的变色龙不相容性。 [沼泽猴]

2.0.1-2010年8月4日

  • 使initialize2函数与zope 2.13兼容。 [汉诺什]

2.0-2010年7月18日

  • 没有变化。

2.0b6-2010年6月13日

  • 从i18n目录中删除了 .registration.cache 文件。自从 plone.app.locales中的大多数po文件都移到了locales文件夹中,这个 优化不再值得了。 [汉诺什]
  • 避免使用不推荐的five:implements指令。 [汉诺什]

2.0b5-2010年3月26日

  • 修正了模板语言中的不兼容问题 通过 zope_i18n_allowed_languages的显式语言列表。 [汉诺什]

2.0B4-2010年3月1日

2.0B3-2010年2月4日

  • 重构了i18n文件夹发现机制,使其独立于 永久性产品注册。 [汉诺什]

2.0b1-2010年1月24日

  • 把我们对谈判者的理解再扩大一点,引入 模板语言。不管有没有 每个域的po文件。这关闭 http://dev.plone.org/plone/ticket/9762 。 [汉诺什]
  • 添加了缺少的zope.annotation依赖项。 [汉诺什]

2.0A2-2009年11月13日

  • 从products.5.i18n合并到ptslangages类中,并在 我们的overrides.zcml。 [汉诺什]
  • 修正了使用全局变量的不推荐警告。 [汉诺什]
  • 已清理包元数据并声明包依赖项。 [汉诺什]

2.0A1-2008年10月16日

  • 已完成对正常处理i18n文件夹中的po文件的支持 python包。他们需要注册为Zope2产品,但不需要 需要在products.*名称空间中。 [汉诺什]
  • 删除了compile locales dir方法和修补程序。编译MO文件是 现在由zope.i18n自己处理。 [汉诺什]
  • 为i18n文件夹添加了注册缓存的第一个版本。我们跟踪 修改时间、文件数量、文件头信息 把它们写到缓存文件中。启动时,我们读取缓存文件并使用 只要信息仍然是最新的,而不是重新整理订单 文件头。缓存文件名为".registration.cache"。 [汉诺什]
  • 初始化代码中的小优化。 [汉诺什]
  • 优化从i18n文件加载po文件。我们只分析 文件,我们只需要语言头。这需要一个新的 python gettext的版本。 [汉诺什]
  • 优化的启动日志记录。现在我们不再发送调试级别的垃圾邮件。 [汉诺什]
  • 已弃用所有与翻译域和服务相关的方法和类。 [汉诺什]
  • 删除了var/pts mo文件缓存,以便编译所有mo文件 小精灵。还取消了目录在临时技术秘书处的登记,并对其进行登记 而是作为zope3 itranslationdomain实用程序。 [汉诺什]
  • 删除了我们自己的msgfmt模块副本,并使用 改为python gettext包。 [汉诺什]
  • 已停止将BrokenMessageCatalog对象添加到PTS。 [汉诺什]
  • 更新到更新版本的pts时删除了自我重建代码。 [汉诺什]
  • 已删除不推荐的方法。 [汉诺什]

1.5.4-2010年3月1日

  • 修复pts_语言和lazygettextmessagecatalog优化。布尔函数 支票倒过来了。这将关闭http://dev.plone.org/plone/ticket/9575" rel="nofollow">http://dev.plone.org/plone/ticket/9575。 [汉诺什]

1.5.3-2009年6月11日

  • 修复了对合并同一域的多个邮件目录的支持。 以前这只适用于试验田。 [威驰]
  • 添加测试层正确初始化包,以便测试可以 也通过蛋化版本。 [威驰]

1.5.2-2009年5月13日

  • 为包中找到的翻译文件创建唯一的目录名。这个 关闭http://dev.plone.org/plone/ticket/8443" rel="nofollow">http://dev.plone.org/plone/ticket/8443。 [汉诺什]
  • 将我们自己的初始化推迟到包加载时间,因此 产品注册表中填充了所有包的产品条目。 这允许在第一次启动新的 实例并关闭http://dev.plone.org/plone/ticket/8376" rel="nofollow">http://dev.plone.org/plone/ticket/8376。 [汉诺什]

1.5.1-2009年2月22日

  • 将readme.txt文件大写为readme.txt。有些平台似乎没有 就像一个全小写的名字。 [汉诺什]

1.5-2009年2月20日

  • 重新格式化的变更日志和更新的包元数据。 [汉诺什]
  • 修补了zope.i18n.zcml.registerTranslations以进行后台移植 汉诺在合并来自同一个域的po文件方面的工作。 [TaRek]
  • 为registerTranslations补丁添加了一些测试。 [TaRek]

1.4.14

  • 修复了引用不存在文件的setup.py。 [毛里塔尼亚]

1.4.12-2008年6月17日

  • 已完成对正常处理i18n文件夹中的po文件的支持 python包。他们需要注册为Zope2产品,但不需要 需要在products.*名称空间中。 [汉诺什]
  • 添加了一些缺少的zcml语句,这些语句只允许在zope中使用pts 环境。感谢martijn jacobs的补丁。 [汉诺什]

1.4.11-2008年4月28日

  • 解决addcatalog中的一个错误,该错误会在损坏的消息目录上失败。 这将关闭http://dev.plone.org/plone/ticket/8084" rel="nofollow">http://dev.plone.org/plone/ticket/8084。 [汉诺什]

1.4.10-2008年4月20日

  • 切换MO文件缓存以将文件存储在客户机主目录下,而不是 依赖于实例宿主中存在的var文件夹。这个 应修复有效用户安装的权限错误。参考文献 http://dev.plone.org/plone/ticket/7786 。 [汉诺什]
  • 当语言列表为 通过pts_语言进行限制,因为内存占用的优势将 不再存在,但微小的查找惩罚仍然存在。 [汉诺什]
  • 添加了对名为pts_languages的新环境变量的支持。如果这样 变量被指定并包含一个用空格分隔的语言代码列表 只有那些语言将在zope实例中注册。这会有帮助的 在减少内存占用和由 PTS。对于locales文件夹,这也避免了将po文件编译为mo文件。 [汉诺什]

1.4.9-2008年3月26日

  • 重组补丁。添加了补丁以始终编译所有区域设置中的po文件 文件夹到MO文件,即使这些文件位于包中。这关闭 http://dev.plone.org/plone/ticket/7157 。同时我们不再 如果未通过zcml注册,则在产品中加载locales文件夹。 [汉诺什]
  • 修正了mofilecache中不正确的日志记录。这关闭 http://dev.plone.org/plone/ticket/7775 。 [Kaell311,汉诺什]

1.4.8-2008年1月5日

  • 修复了持久翻译服务创建代码中的错误。它 首先用路径('translationservice',)注册包装器。 重新启动后,将更正为正确的: ('','控制面板','翻译服务')。这应该可以解决一些 巴龙虫追踪器里的虫子。 [汉诺什]

1.4.7-2007年12月24日

  • 当zope3转换实用程序在 上下文参数无效。zope3中的翻译是根据请求工作的 单独地,当关键字被称为context时,很容易混淆 有一个满足的环境。 [汉诺什]

1.4.6-2007年12月2日

  • 从区域设置文件夹加载翻译文件时捕获posyntaxerror 并输出警告,而不是阻止zope启动。 [汉诺什]
  • 再次放弃将pts作为全局实用程序的处理。结果发现 R将持久对象注册为全局实用程序和 将其注册为模块级全局。所以我们再次使用ptswrapper 它只存储到pts的物理路径并将其加载到 访问。这修复了PLONE3.0和 关闭http://dev.plone.org/plone/ticket/7233" rel="nofollow">http://dev.plone.org/plone/ticket/7233。 [汉诺什]
  • 从主干向后移植lazygettextmessagecatalog并使用它而不是 标准的zope.i18n gettextmessagecatalog。这样可以缩短启动时间 和内存占用,因为只有那些目录文件将被解析和加载 进入实际使用的记忆。 [汉诺什]

1.4.5-2007年10月7日

  • 防止pts实用程序中出现零星连接状态错误 实施。 [汉诺什]

1.4.4-2007年7月9日

  • 添加了新的memoize函数,用于将zope3谈判者 存储请求的语言协商结果。 [汉诺什]
  • 对msgfmt.py的各种小更新。 [汉诺什]

1.4.3-2007年5月1日

  • 新增生产任务文件生成逻辑,自动生成 更新所有locales文件夹而不是var/pts缓存中的mo文件, 所以这些可以由zope3翻译机器直接获取。你 需要确保运行zope进程的用户 此功能在所有区域设置文件夹中工作的权限。文件夹 遵循i18n文件夹布局将被视为与以前相同的方式。 [汉诺什]
  • 已删除pts域的mo文件。 [汉诺什]

1.4.2b2-2007年3月23日

  • 注释了五个:registerpackage 测试期间的连接状态错误,因为pts将作为部分设置 ZCML层的。 [汉诺什]

1.4.2b1-2007年3月5日

  • 小优化。检查是否将上下文传递给translate函数 已经是一个请求,所以我们不需要从上下文获取它。 [汉诺什]
  • 添加了iptstrationdomain接口和实用程序。这些可以用来 代理仍然由pts处理以使其可用的翻译域 作为一个zope3翻译域,所以它可以用于纯zope3页面 例如模板。 [汉诺什,菲利康]

1.4.1-2007年2月10日

  • 删除了translateTags和DTML翻译功能。他们不工作了 很久以来,没有人能够修复或维护这些。 整个故事请参见http://dev.plone.org/plone/ticket/4895" rel="nofollow">http://dev.plone.org/plone/ticket/4895。 [汉诺什]
  • 在期间将placesTranslationService对象注册为全局实用程序 初始化。这样我们就可以摆脱所有的魔法获取代码 在ptswrapper中,每次转换都遍历到真正的pts对象 方法调用。我们现在可以执行一个简单的getutility调用。 [汉诺什]
  • 删除自定义缓存处理并用标准方法替换 基于plone.memoize的想法。代码可以在备忘录模块中找到。 这将导致速度再次大幅提高。 [汉诺什]
  • 从translate方法中删除了过时的as-unicode参数。 [汉诺什]
  • 弃用了一堆不起任何特殊作用的方法 不再。 [汉诺什]
  • 移除了。丢失的跟踪设备。这些是未维护的 以任何方式测试。 [汉诺什]

1.4.0-2006年10月25日

  • 删除了自动记录丢失的跟踪器功能 翻译。结果发现,这是相当资源紧张。 [汉诺什]
  • 修正了在上下文i不是 收购结束。 [汉诺什]
  • 修复了gettextmessagecatalog中的另一个弃用警告。 [汉诺什]
  • 完全移除了patchstringio,显然不再需要了。 [汉诺什]
  • 移除FasterStringio模块和附带的猴子补丁。这些 现在是cmfplone/patches的一部分。 [汉诺什]
  • 澄清了utranslate方法上的一些doc字符串,它们是相同的 对于现在的翻译方法,不要再使用它们了。 [汉诺什]
  • 清理一下patchstringio,因为我们现在需要zope 2.10,我们总是 有了Zope3 Tal机器,我们应该抑制恼人的情绪 弃用警告。 [汉诺什]
  • 已弃用requestgetaccept语言协商处理程序,因为它 干扰包含名为"语言"的字段的窗体。我们不 在1.4中注册处理程序。这关闭 http://dev.plone.org/plone/ticket/4986 。 [汉诺什]
  • 已清理测试并删除自定义测试运行程序(framework/runalltests)。 [汉诺什]
  • 在zope3翻译中注册的所有翻译域 服务现在被pts忽略,因为pts不会被查询这些 不管怎样。 [汉诺什]
  • 临时技术秘书处的翻译(用于管理屏幕)现在设置为使用 Zope3翻译服务。你可能会觉得很讽刺,但这强调了 pts将采取更多的措施。 [汉诺什]
  • 已将pts自己的翻译转换为新样式的locales文件夹布局。 [汉诺什]
  • 更改pts的翻译方法以默认返回unicode以更好地工作 使用zope 2.10+,它使用zope3 tal和pagetemplate机器 所有地方都需要Unicode。 [汉诺什]

1.3.6-2007年4月22日

  • 还修复了另一个由非Unicode引起的Unicode错误 页面模板源中的字符(页面模板中的UTF编码字符串 来源)。这将关闭http://dev.plone.org/plone/ticket/6238" rel="nofollow">http://dev.plone.org/plone/ticket/6238。 [纳罗,汉诺什]

1.3.5-2006年1月27日

  • 最近返回unicode的更改在tal中公开了另一个位置 结合文本的解释器,尚未修补以允许混合 Unicode和UTF-8编码文本。新的猴子补丁已经推出 来解决这个问题。这将关闭http://dev.plone.org/plone/ticket/6068" rel="nofollow">http://dev.plone.org/plone/ticket/6068。 [汉诺什]

1.3.4-2006年12月13日

  • 将pts的translate方法更改为默认返回unicode。这是 需要PLONE2.5才能获得 五次翻译服务。此版本可能与 PLONE 2.1。 [汉诺什]

1.3.3-2006年9月29日

  • 在插值函数中为情况提供了一些更好的回退 在映射dict中混合编码字符串或unicode与 文本本身。我们现在在所有情况下都能优雅地处理utf-8编码的字符串。 [汉诺什]

1.3.2-2006年9月8日

  • 使断开的邮件目录的日志记录更加详细。现在两个 文件名和路径都被记录下来了,所以您实际上有机会找到 文件夹。请给我建议。 [汉诺什]
  • 修正了插值函数中的错误,其中混合了Unicode和编码 字符串失败,因为unicode字符串只包含ascii字符。 现在可以了。尽管如此,您还是应该更新代码以使用unicode 在内部,对翻译非unicode字符串的支持将消失一次 我们切换到基于zope3的translationservice。 [汉诺什]

1.3.1-2006年6月1日

  • 也可以使用我们的邪恶黑客UTF-8编码字符串和 Unicode到PageTemplate和TalInterpreter的Zope3版本,所以是最新的 在Zope2.10下工作。注意,pts是注定要毁灭的,而你 应该开始更新所有代码,以便在内部使用Unicode 尤其是通过好未来的产出。 [汉诺什]

1.3.0-2006年5月15日

  • 修正了插值函数中的另一个问题,其中变量 如果字符串是旧式普通字符串而不是Unicode,则将其替换。 这将关闭http://dev.plone.org/plone/ticket/5509" rel="nofollow">http://dev.plone.org/plone/ticket/5509。 [汉诺什]
  • 修正了当映射 或者文本是Unicode,但另一个不是。功能仅例外 Unicode作为文本和映射的所有条目,因为它没有 猜猜它们的编码方式。 [汉诺什]
  • 消毒插值函数。它有各种主要的虫子 难以置信的慢。这将关闭http://dev.plone.org/plone/ticket/5421" rel="nofollow">http://dev.plone.org/plone/ticket/5421。 [汉诺什]
  • 为了支持zope3,移除了opental支架。 佐佩2.10。我们不想支持三种tal实现;) [汉诺什]
  • 大扫除一般春季。移到日志模块而不是zlog。这个 日志模块包含在python中,从2.3开始。运行一个旧的 因此不再支持python版本。这同样适用于 佐佩<;2.7。 [汉诺什]
  • 在丢失的域错误消息中包含po的文件名 [威瑟特]

1.2.7-2006年3月19日

  • 修正了Andrey Lebedev在msgfmt.py中指出的一个错误。所有评论以 ','被视为模糊。 [汉诺什]
  • 修复了一个错误,在该错误中,翻译服务将为 翻译,当它找不到并且默认为无时。改为 改为使用msgid。所有的zope3消息都发生了这种情况 没有默认文本。 [汉诺什][阿莱姆]
  • 添加测试以显示DTML转换已中断,请参见 http://dev.plone.org/plone/ticket/4895 。 [汉诺什]
  • 如果已设置请求中的pts_is_rtl标志,请不要重置该标志。 http://dev.plone.org/plone/ticket/4631 [威瑟特]

1.2.6-2006年2月25日

  • 删除了一些python 2.1bbb和未使用的代码。 [汉诺什]
  • 删除了自行开发的MessageID实现。现在使用zope 3 messageid 可使用Zope 2.8/Five 1.1或Zope>;2.9。 [汉诺什]
  • 将changes.txt从文档子文件夹移动到主文件夹,并将其重命名为 符合标准布局的history.txt。 [汉诺什]
  • 将标准日志记录级别更改为blather而不是info,因此启动 进程不会被无用的消息轰炸。 [汉诺什]
  • 添加环境变量"disable_pts"以完全禁用 加载翻译文件并将临时技术秘书处注册为 不从中删除产品的翻译服务 "产品"目录。提示:设置环境的一种简单方法 变量使用<;environment>;'zope.conf'指令。 [梦幻捕手]

1.2.5-2005年12月6日

  • 修复instance_home.startswith(zope_home)所在文件夹布局的问题 是正确的,如http://plone.org/collector/4983" rel="nofollow">http://plone.org/collector/4983中所述。感谢Ymahe 补丁,我稍微修改了一下。 [汉诺什]

1.2.4-2005年11月16日

  • 删除了一些Python2.1兼容代码,并添加了第一个非常基本的测试 用于加载采购订单文件 [汉诺什]
  • 使一些文件系统访问代码有点少通过额外的捕捉来恢复健壮性 奥斯谬斯这修复了http://plone.org/collector/4824" rel="nofollow">http://plone.org/collector/4824。 [汉诺什]
  • 再次增加类版本并编写测试以确保类匹配 版本和version.txt中的版本 [汉诺什]

1.2.3-2005年10月17日

  • 修正了http://plone.org/collector/4799 rel="nofollow">http://plone.org/collector/4799-从2.1升级到2.1.1将中断所有 邮件目录。我们现在增加pts的内部类版本 将导致ZODB中翻译服务对象的重新创建, 所以所有包含的内部pofile对象都被移除并重新创建 [汉诺什]

1.2.2-2005-10-08

  • 替换了将模块级的持久点存储在 用一个ptswrapper对象。向ptswrapper添加了isrtl方法。应该 修复连接问题。 [AlECM]
  • 合并了1.0分支中缺少的修补程序。它的changelog条目是: "修复了不同文件系统位置的多个zeo客户端的问题。" 这是朗斯利普在2005年2月9日做的。 [汉诺什]

1.2.1-2005-08-07

  • plone 2.1rc2的新tarball(不带.svn目录) [Batlogg]
  • 增加了希腊语翻译[thx到nikos papagrigoriou] [汉诺什]

1.2.0-2005年7月28日

  • 重新创建pts时清除mo文件缓存 [TIRA]

1.2-RC3

  • 修复了位于"locales"目录中的po文件的id生成 [TIRA]
  • 添加了一个MO文件缓存,该缓存将编译的文件存储在 instance_home/var/pts/${catalog_id}.mo实例 [TIRA]

1.2-rc2

< Buff行情> …

1.2-RC1-2004-09-08

  • 新特性rtl支持和rtl api,适用于从右到左的语言。PO文件 可能包含一个名为x-is-rtl的头,其中有yes、y、true或1表示 rtl language或no,n,false,对于ltr语言为0(默认值)。这个 产品模块还包含一个新方法isrtl,可用ttw。

1.1-RC1-2004-07-15

  • 新功能msgid tracker(感谢IngeniWeb):

    它在跟踪PTS内未翻译的msgid。你可以很容易地下载 作为采购订单文件。有关详细信息,请参见zmi

  • 将MessageCatalog isPrincipiaFolderish设置为false以避免无限递归 ZMI中的DTML树。

1.0-RC8

  • 这个版本不再是叉子,而是现在的正式版本。 感谢拉洛·马丁斯在撰写 原装产品。
  • 禁用会话的使用
  • 重新启用。缺少日志记录
  • 添加了文档部分,包括如何使用的详细信息 。缺少生成.pot文件的日志记录

1.0fork-rc7-2004-05-11

  • 重新启用getrequest修补程序以避免出现一些难看的问题

1.0fork-rc6-2004-05-05

  • 清除所有python文件,重新调整代码并删除空格

1.0fork-rc5-2004-04-22

  • 更改了日志记录以使用utils.py中的方法和变量

  • 清理了导入,并将它们分离到python、zope和pts导入中

  • 删除了get_请求修补程序的依赖项和自动加载。现在是 仅在使用MessageID模块时加载,在将Unicode应用于 FasterStringio(不应该发生!)或者当pts无法获得有效的 上下文(请求)。 在Zope重新启动后,最后两个案例将第一次中断。如果 您的软件依赖于get_request()手动应用修补程序:

    from Products.PlacelessTranslationService.PatchStringIO import applyRequestPatch
    applyRequestPatch()
    

    注意:对于这个版本,get_请求补丁是默认启用!

  • 更好的posyntaxerrors调试消息

1.0fork-rc4-2004-04-05

  • 更改订单文件ID创建:

    < Buff行情>
    • id是myproducts.i18n-pofile或myproducts.locales-pofile 对于从产品目录加载的采购订单文件
    • id是从加载的po文件的globalcatalogs pofile 实例主页/i18n/
  • 始终将回退目录附加到目录 用于翻译

  • 支持实例"home/locales/

  • 将globalCatalogs从instance\u home/i18n/和 instance_home/locales/到 用于翻译的目录

  • 使用域和语言作为键在请求中缓存目录名

1.0fork-rc3-2004-03-09

  • 将产品标识符添加到控制面板目录ID 在不同的位置允许相同的po文件名:
  • 目录现在像products.cmfplone.i18n.plone-de.po 不是来自产品的目录(如来自instance_home) 像以前一样命名(plone-de.po)
  • 已修复收集器问题910529 感谢Nicolas Ledez的报告和修补程序

1.0fork-rc2-2004-03-01

  • 修复了FasterStringio中向输出添加新行的错误
  • 添加了类似zope 3的locales目录支持: products/myproduct/locales/${lang}/lc_消息/${domain}.po

1.0fork-rc1-2004-02-11

  • 修复了与Python2.1兼容性有关的次要问题

1.0fork-beta5-2004-02-03

  • 添加了utranslate方法
  • 增加了谈判者链和两个新的轻松谈判者
  • 添加了类似于MessageID和MessageIDFactory的Zope 3 < DL>
    更新了api并清理了代码:
    > UL>
  • 为类添加了安全性
  • 将一些类移到utils.py以避免方法级导入
  • 添加了getTranslationService()方法以获取pts实例 在其他产品中

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本