Wagtail · wagtail-ponyglot

Keep your Wagtail workflow. Get better translations.

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.

Where Wagtail translation gets hard

wagtail-localize gives you translatable pages and a translation editor. Keeping terminology and voice consistent across hundreds of pages is still up to you.

StreamField is deep

Nested blocks, rich text and embedded links all have to come through translation without breaking.

Terms drift

Machine translation has no idea that your product name stays in English, or that "account" has one approved translation.

Not everything is a page

App models, catalogs and snippets managed with django-parler or modeltranslation sit outside the page tree.

What Ponyglot adds to Wagtail

A translation backend for wagtail-localize

DeepL or LLM, selected per language. Translations appear in the wagtail-localize editor, where editors review them as usual.

Glossary and brand voice

Approved terms and tone apply to every page, block and language. QA checks links, placeholders, length and HTML.

Translation memory

Sentences you have translated before are reused, not paid for twice. Memory hits don't count towards your characters.

Delta sync

When a source page changes, you see which segments are stale in which language and retranslate only those.

Setup

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.

Wagtail questions

Does it replace wagtail-localize?

No. Ponyglot plugs into wagtail-localize as a translation backend and adds glossary, memory and delta sync on top of your existing workflow.

I use wagtail-modeltranslation. Is that supported?

Yes, through the django-modeltranslation connector.

Will it publish translations automatically?

No. Translations go through review in Wagtail, and an editor publishes them.

Do I need the hosted service?

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.

One layer, the whole Django stack

Pages, blog, product catalog and app content share one glossary and one translation memory.

django CMS

djangocms-ponyglot

Pages, placeholders and plugin trees — structure-aware, lands as versioned drafts.

django-parler

ponyglot[parler]

Translated models like djangocms-stories, catalogs and app content.

django-modeltranslation

ponyglot[modeltranslation]

Per-language columns, including wagtail-modeltranslation projects.

Get early access

We're onboarding a small group of agencies and product teams running multilingual django CMS, Wagtail or Django sites.

Join early access