跳转到主要内容

django-modeltranslation和wagtail之间的粘合剂

项目描述

https://readthedocs.org/projects/django-modeltranslation-wagtail/badge/?version=latest https://badge.fury.io/py/django-modeltranslation-wagtail.svg https://circleci.com/gh/benjaoming/django-modeltranslation-wagtail.svg?style=shield

django-modeltranslation和Wagtail之间的简单粘合剂。

特性

  • 使用django-modeltranslation对Wagtail进行基于字段的翻译

  • 待办事项 使翻译字段易于Wagtail管理。

  • 对当前激活的语言敏感。

  • 不修改Page模型(没有添加到Wagtail的迁移),标题seo_titlesearch_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_translationwagtail-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 (19.1 kB 查看哈希)

上传时间

构建分布

django_modeltranslation_wagtail-0.4.1-py3-none-any.whl (17.1 kB 查看哈希)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面