django-modeltranslation和wagtail之间的粘合剂
项目描述
django-modeltranslation和Wagtail之间的简单粘合剂。
特性
使用django-modeltranslation对Wagtail进行基于字段的翻译
待办事项 使翻译字段易于Wagtail管理。
对当前激活的语言敏感。
不修改Page模型(没有添加到Wagtail的迁移),标题、seo_title和search_description的翻译仅限于翻译模型。
如何使用
您创建Wagtail模型,并通过一个<yourapp>.translation模块来激活它们,就像使用任何其他基于modeltranslation的模型一样。
在Wagtail中,活动语言决定您在翻译模型中编辑的语言。
例如,导航到/en/wagtail/pages/add/<yourapp>/<yourmodel>/<ptr_id>/将创建一个新的英文页面。
缺点:目前没有翻译工作流程的UI。这意味着用户必须知道在创建英文条目后,需要将URL路径中的/en/与/fr/进行切换,以便用法语进行编辑。
何时使用此功能
实际上,你可能并不想使用它!仔细考虑使用 wagtail-modeltranslation,因为它已经显著改进,不再硬拷贝 django-modeltranslation。
如果你需要在Wagtail中对页面或片段进行1:1翻译,可以使用django-modeltranslation。然而,wagtail-modeltranslation是一个复杂的项目,它修补了很多外部代码,因此经常与Wagtail的最新版本不兼容。
如果你只需要自由形式翻译(当页面树中的页面不是1:1翻译,但翻译相互独立存在时),不妨看看Wagtail内置的 simple_translation 或 wagtail-localize。
背景
最初,我使用的是 wagtail-modeltranslation。该项目维护得很少,但更重要的是,它对Wagtail进行了猴子补丁,并使用硬拷贝的modeltranslation代码库而不是对django-modeltranslation的依赖引用。现在,后者已经恢复,这降低了该项目继续开发的动机。
几年后,我再次使用wagtail-modeltranslation,但又一次发现自己花太多时间理解未合并的PR等。诚实地讲,该项目在此期间得到了维护,但它落后了,我无法想出如何使用最新的Wagtail版本。
本项目引入了一些命名混乱。但请记住,django-modeltranslation-wagtail 的结尾有 wagtail,因为它依赖于 django-modeltranslation,而 django-modeltranslation 依赖于 django。
使用 django-modeltranslation 或 wagtail-modeltranslation?
切换非常简单!
由于此项目直接基于 django-modeltranslation,数据库中字段的创建和 django 迁移保持不变。如果你正在切换,只需重新查看你的 translation.py 文件,并将导入更改为指向 modeltranslation_wagtail。
项目详情
django-modeltranslation-wagtail-0.4.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e67d8445ae2a390bc166e304fde4ce427fd83a46c146843bb5237b8d50ffb2fd |
|
MD5 | 1996a8da021d34d2313d4718fd678ef7 |
|
BLAKE2b-256 | 366fdac315837e475dde53988a1f2128ebb6a7f8c0fbeae8b5bb8259aa53c7a1 |
哈希值 for django_modeltranslation_wagtail-0.4.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aef8a5ddfeccdf716d35691dbdf05ba9774ac85efca46c9645057245c0f96585 |
|
MD5 | 7bbc750eed34490b9a60cb64496dfafd |
|
BLAKE2b-256 | 16c4cff710c0aeb30b9231eb1df3923c867d6d6981b6a919c28d18b4cbf0636e |