StreamField is deep
Nested blocks, rich text and embedded links all have to come through translation without breaking.
Wagtail · wagtail-ponyglot
Ponyglot plugs into wagtail-localize as its translation backend. Your editors keep the workflow they know, and every page is translated with the same glossary, memory and brand voice.
wagtail-localize gives you translatable pages and a translation editor. Keeping terminology and voice consistent across hundreds of pages is still up to you.
Nested blocks, rich text and embedded links all have to come through translation without breaking.
Machine translation has no idea that your product name stays in English, or that "account" has one approved translation.
App models, catalogs and snippets managed with django-parler or modeltranslation sit outside the page tree.
DeepL or LLM, selected per language. Translations appear in the wagtail-localize editor, where editors review them as usual.
Approved terms and tone apply to every page, block and language. QA checks links, placeholders, length and HTML.
Sentences you have translated before are reused, not paid for twice. Memory hits don't count towards your characters.
When a source page changes, you see which segments are stale in which language and retranslate only those.
One open-source, BSD-licensed connector. Use it with your own DeepL or LLM key, or connect it to the hosted service.
pip install wagtail-ponyglot
# settings.py
INSTALLED_APPS += [
"ponyglot",
"wagtail_ponyglot",
]
PONYGLOT = {
"API_KEY": env("PONYGLOT_API_KEY"), # or your own DeepL / LLM key
"SOURCE_LANGUAGE": "en",
}
Planned API. It may change during early access.
No. Ponyglot plugs into wagtail-localize as a translation backend and adds glossary, memory and delta sync on top of your existing workflow.
Yes, through the django-modeltranslation connector.
No. Translations go through review in Wagtail, and an editor publishes them.
No. The connector works on its own with your own DeepL or LLM key. The hosted service adds translation memory, glossary, delta sync, review and QA.
Pages, blog, product catalog and app content share one glossary and one translation memory.
djangocms-ponyglot
Pages, placeholders and plugin trees — structure-aware, lands as versioned drafts.
ponyglot[parler]
Translated models like djangocms-stories, catalogs and app content.
ponyglot[modeltranslation]
Per-language columns, including wagtail-modeltranslation projects.
We're onboarding a small group of agencies and product teams running multilingual django CMS, Wagtail or Django sites.
Join early access