带kotti的多语网站
kotti_multilingual的Python项目详细描述
使用Kotti的多语言站点。
kotti的数据模型在Content类上包含一个language属性, 所有内容类型从中继承的。但是,这个属性既不是 被Kotti的用户界面曝光,也没有以任何其他方式使用。kotti_multilingual 提供构建多语言站点的通用方法。
进行中的工作
kotti_multilingual仍处于开发的早期阶段。它是 特性既不完整,也不能被认为是api稳定的。事情会变的!
功能
包包含一个内容类型LanguageRoot,它是 应该是特定语言中所有内容的容器。全部 在此类子树中创建(或移入)的内容将自动 用根的语言标记的。这是通过订阅 科蒂的ObjectInsert和ObjectUpdate事件。
您可以在内容中的任何位置放置LanguageRoot实例 树,但最好使用这样的树结构:
- / Document language neutral - /en LanguageRoot English - /de LanguageRoot German - /nl LanguageRoot Dutch - /images Document language neutral
设置
要激活kotti站点中的kotti_multilingual加载项,您需要 向粘贴部署配置中的kotti.configurators设置添加一个条目。 如果没有kotti.configurators选项,请添加一个。添加的条目 应该是这样的:
kotti.configurators = kotti_multilingual.kotti_configure
您可以在 类型名称未由Kotti_多语言处理。
测试
测试设置需要其他步骤:
$ 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)
使用翻译源维护内容项之间的翻译链接 和目标。
添加翻译下拉式用户界面,用于添加项目的翻译。
添加了widget.i10n_widget_factory延迟小部件。 如果上下文是翻译,则将字段转换为只读模式。
这个延迟的小部件也与add forms兼容,您应该绑定一个addform 属性设置为True,小部件将在编辑模式下照常呈现。 您可以在add表单上添加一个get_bind_data方法。
添加了带有类型名列表的kotti_multilingual.blacklist设置 不可翻译
已更改翻译操作的策略。现在,翻译的文档将自动 充满了父翻译(增强了可用性,因为我们没有屏幕 分为两部分,如舌骨)。这是可能的,因为 因为我们不在翻译的文档上设置独立于语言的属性
修复了具有不可为空字段的对象的转换
增加了对sqlalchemy关联代理的支持
修复了get_source的间歇性问题(完整性错误)
0.1a3-2013年5月8日
- 将LanguageSection重命名为LanguageRoot,以便更好地适应kotti的 INavigationRoot。这意味着数据库模式中的一个更改,没有 可以使用自动架构迁移;必须重命名表 language_sections到language_roots您自己。
- 添加一些测试。
0.1a2-2013年5月7日
- 删除了许多现在被kotti的^{tt20}替换的代码$/ TemplateAPI.navigation_root。这大大简化了 kotti_multilingua。
- 取决于Kotti>;=0.9A3dev(以上所需)。
0.1a1-2013年5月6日
- 初次发布。