Registry / web-framework / wagtail-localize

wagtail-localize

JSON →
library1.13.1pypypiunverified

Translation plugin for Wagtail CMS. Automates translation of Wagtail pages, snippets, and content by syncing translatable fields to a separate locale model. Current version: 1.13 (2025-05-22). Supports Wagtail 7.x, Django 6.0, Python >=3.10. Release cadence: ~3 minor versions per year.

pip install wagtail-localize
INSTALL
IMPORT
SIG · WAGTAIL-LOCALIZE
W
wagtail-localize
web-frameworkpythonv1.13.1
Install
9.5s avg
Import
Disk
197MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.13.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 195.6MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 9.5s · import 0.000s · 193MB
197MB installed
● package 197MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Locale
from wagtail_localize.models import Locale
from wagtail_localize.models import Locale

Minimal setup: add app, run migrations, submit a page for translation.

# Add to INSTALLED_APPS in settings.py: INSTALLED_APPS = [ ... 'wagtail_localize', 'wagtail_localize.locales', # optional, for locale management UI ] # Run migrations # ./manage.py migrate # In a model that should be translatable: from wagtail.models import Page from wagtail_localize.models import TranslatableMixin class MyPage(Page): pass # Page already inherits TranslatableMixin via wagtail-localize # Create a locale (if not using wagtail's built-in locales) from wagtail_localize.models import Locale locale = Locale.objects.get_or_create(language_code='fr') # Submit a page for translation from wagtail_localize.tasks import submit_translations submit_translations(page.pk, [locale.pk], submit_synchronously=True)
Debug
Known issues
breakingIn v1.12, support for Wagtail < 6.3 was dropped. If upgrading from <1.12, ensure Wagtail >=6.3.
fix
Upgrade Wagtail to >=6.3 before upgrading wagtail-localize.
affects: >=1.12
deprecatedThe `wagtail_localize.locales` app was split out. In v1.13 it's optional but recommended for locale management UI. Old installations with 'wagtail_localize' only will still work, but new features require the locales app.
fix
Add 'wagtail_localize.locales' to INSTALLED_APPS.
affects: >=1.13
gotchaUsing `Locale` from `wagtail.models` instead of `wagtail_localize.models` causes confusion. The wagtail-localize `Locale` model is a proxy with extra methods.
fix
Always import Locale from wagtail_localize.models.
affects: all
gotchaMachine translation services (DeepL, LibreTranslate) require explicit configuration. DeepL API changed in v1.12.2: now passes auth key via headers, not query parameters.
fix
For DeepL, ensure you are using the new header-based auth: set DEEPL_AUTH_KEY in settings and use DeepLBackend.
affects: >=1.12.2
gotcha`submit_translations` is a synchronous helper and will block if `submit_synchronously=True`. In production, use Celery or a task queue for async submission.
fix
For async, use `submit_translations.delay()` (requires a Celery setup).
affects: all
Upgrade
Version history
1.13.1latest on PyPI · released May 20, 2026
Audit
Dependencies
wagtailrequiredCore dependency; wagtail-localize is a plugin for Wagtail CMS
Agent activity
31 hits · last 30 days
node
26
OpenAI (training)
1
Resources
wagtail-localize — pip install wagtail-localize · libregistry