跳转到主要内容

使用Kotti的多语言站点

项目描述

使用Kotti的多语言站点。

Kotti的数据模型在Content类中包含一个language属性,所有内容类型都继承自该属性。然而,该属性既没有被Kotti的UI暴露,也没有被任何其他方式使用。kotti_multilingual提供了一种通用的方法来构建多语言站点。

进行中

kotti_multilingual仍处于早期开发阶段。它既不完整,也不能被认为是API稳定的。事情将会改变!

功能

该软件包包含一个名为LanguageRoot的单个内容类型,该类型应包含特定语言中的所有内容。在(或移动到)此类子树中创建的所有内容都将自动标记为根的语言。这是通过订阅Kotti的ObjectInsert和ObjectUpdate事件来完成的。

您可以将LanguageRoot实例放置在内容树中的任何位置,但最佳实践是保持如下树形结构

- /            Document        language neutral
   - /en       LanguageRoot    English
   - /de       LanguageRoot    German
   - /nl       LanguageRoot    Dutch
   - /images   Document        language neutral

设置

要激活Kotti站点的kotti_multilingual插件,您需要在Paste Deploy配置中的kotti.configurators设置中添加一个条目。如果您没有kotti.configurators选项,请添加一个。添加的条目应如下所示

kotti.configurators = kotti_multilingual.kotti_configure

您可以注册一个可选的kotti_multilingual.blacklist,其中包含kotti_multilingual不处理的类型名称列表。

测试

测试设置需要额外的步骤

$ virtualenv --no-site-packages .
$ source bin/activate
$ pip install -r requirements.txt
$ python setup.py develop
$ python setup.py dev

如何启动测试

$ py.test

变更日志

0.2a3 (2015-04-27)

  • 修复了0.2a2版本(MANIFEST.in仍然错误)

0.2a2 (2015-04-27)

  • 修复了MANIFEST.in文件

0.2a1 (2015-04-27)

  • 维护内容项目之间的翻译链接,包括翻译源和目标。

  • 添加了一个用于添加项目翻译的翻译下拉UI。

  • 添加了widget.i10n_widget_factory延迟小部件。如果上下文是翻译,则将字段转换为只读模式。

    此延迟小部件也与添加表单兼容,您应该将addform属性绑定到True,小部件将在编辑模式下正常渲染。您可以在添加表单上添加一个get_bind_data方法来实现这一点。

  • 添加了一个kotti_multilingual.blacklist设置,其中包含不可翻译的类型名称列表

  • 更改了翻译操作的策略。现在,翻译文档将自动填充父级翻译(提高了可用性,因为我们不需要像LinguaPlone那样将屏幕分成两部分)。这是由于sqla.py中的更改而成为可能,因为我们没有在翻译文档上设置语言无关的属性

  • 修复了具有不可为空的字段的对象的翻译

  • 添加了对sqlalchemy的关联代理的支持

  • 修复了get_source(完整性错误)的间歇性问题

0.1a3 - 2013-05-08

  • LanguageSection重命名为LanguageRoot,以更好地适应Kotti的INavigationRoot。这涉及到数据库模式的更改,没有自动模式迁移可用;您必须自己将表language_sections重命名为language_roots

  • 添加了一些测试。

0.1a2 - 2013-05-07

  • 删除了现在由Kotti的INavigationRoot / TemplateAPI.navigation_root替换的大量代码。这极大地简化了kotti_multilingua的设置。

  • 依赖于Kotti>=0.9a3dev(如上所述)。

0.1a1 - 2013-05-06

  • 首次发布。

项目详情


下载文件

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

源分布

kotti_multilingual-0.2a3.tar.gz (16.1 kB 查看哈希值)

上传于

支持者