Repository navigation
Install and setup: installation guide.
What's in 1.0.0
First stable release. Every plugin release is now tested end to end against the live Supertext API (.github/workflows/e2e.yml).
- Removed: support for Wagtail 7.0 LTS (end of life since 2 November 2026); the minimum is now Wagtail 7.4 LTS.
- Removed: support for Python 3.10 (end of life since October 2026); the minimum is now Python 3.11.
- Changed: the demo runs on Python 3.14; CI also tests Wagtail 7.4 with Django 6.0.
- Added: support for Wagtail 8.1 (tested in CI with Django 6.1 on Python 3.14); the demo runs Wagtail 8.1 and psycopg 3.3.8.
- Docs: demo movie in the README (
docs/images/demo.gif, recorded from the demo against the stand-in withtests/docs/movie.mjs; the MP4 version, not committed, is narrated with the Piper voice “alba”) and an install and configuration movie (tests/docs/movie-install.mjs: pip install, settings,urls.py,migrate,SUPERTEXT_API_KEYandsupertext_check, then Settings → Supertext with Test connection and the Languages table; narrated MP4, not committed). The stand-in can keep filesin_progressfor a while (STAND_IN_DELAY). - Added: the Supertext support form is linked in the README, the user guide and GitHub's "New issue" page.
- Added: Translation review per locale (Settings → Supertext → Languages → Translation review, or
reviewin theLANGUAGESoption): translations into a locale with it ticked go through Supertext's review service (Supertext Localization Review), where customers and Supertext linguists correct them on the website with a Chrome extension; corrections come back into Wagtail when the texts are translated again, and texts translated before keep their (reviewed) wording. Same API key, billing, languages and messages; other locales keep going directly to Supertext. New optionREVIEW_URL/SUPERTEXT_REVIEW_URL(defaults to Supertext's review service;""turns review off everywhere). Runpython manage.py migrate(adds the columnreview; existing locales start with review off). All four interface languages. - Changed: requests to Supertext name the plugin and its version in the User-Agent (
Wagtail-Supertext-Translation/<version>). - Added: Export for translation (XLIFF 1.2 or HTML) and import of translated files; Supertext SDK 0.5.0. Settings → Translation files downloads the texts of a wagtail-localize translation that still need translating as an XLIFF file (one or more languages, for translation tools) or an HTML file (one language, e.g. for Supertext's web app), and imports the translated file into the translation like a machine translation (existing translations never overwritten; texts whose source changed since the export only with Also import texts whose source changed since the export), with a summary per page and language; review and publish in the translation editor as usual. Different from wagtail-localize's PO files. Open to editors for the translations they may edit; files up to 10 MB, nothing stored on the server. In English, German, French and Italian.
- Added: Settings → Supertext → Languages: a drop-down per locale with Supertext's languages (and the tone where the language offers it), saved in the database (new table; run
python manage.py migrate). The suggested language is preselected. TheLANGUAGESoption stays as an override for automated setups and wins per locale, so existing configurations keep working unchanged. - Changed: locales without a chosen language now use an obvious default (
de→de-DE,en→en-US,fr→fr-FR,it→it-IT,pt→pt-PT,zh-cn→zh-Hans,zh-tw→zh-Hant,es-es→es, …) instead of failing; only locales without one (en-ie,de-li,gsw, …) still need a choice. The no Supertext language yet message points to Settings → Supertext → Languages. Bundled Supertext SDK updated to 0.4.0 (commit6aaad33). - Changed: version reports, the API key check result and the reachability ping now use Supertext Plugin Health 0.1.0 (bundled in
wagtail_supertext/_vendor/plugin_health); bundled Supertext SDK updated to 0.3.0 (commitf7bd414). No change for sites: settings and stored state stay as they are. - Added: support for Python 3.14 (tested in CI with Wagtail 8.0 and Django 6.1).
- Added: Send version information to Supertext (on by default;
"VERSION_REPORTS": FalseorSUPERTEXT_VERSION_REPORTS=0turns it off). The plugin reports the site URL and the plugin, Wagtail, Python and SDK versions, whether a key is set and the API key check to the Supertext Commando Center after an update and when the key changes, in the background. No content, no API key, no personal data. See the installation guide. - Added: automatic API key check (Supertext's cost-free
featurescall) when the key changes, on Test connection, withsupertext_checkand when a translation is rejected; Settings → Supertext shows the latest result with its time (with the account and API key links when the key is rejected or missing). Test connection now shows this check. - Added: public ping endpoint
GET /supertext/ping(addpath("supertext/", include("wagtail_supertext.urls"))to yoururls.py), so Supertext can see the site is reachable; 404 while version information is off. - Added: the plugin's own table (run
python manage.py migrate) for the reporter's state and the latest key check (never the key). - Changed: languages are no longer guessed. A Wagtail locale whose code is a Supertext code (
de-ch→de-CH,fr-ch,es,zh-hans, apart from case and_/-) is used as it is; every other locale needsLANGUAGES→code(its meaning changed: it is now the mapping, without default regions). The default regions are gone: they were wrong for most languages (Supertext wantses,sl,nlwithout region andzh-Hansinstead ofzh-CN). An unmapped locale gets the message has no Supertext language yet (four languages) and nothing is sent for it; Settings → Supertext marks it Not mapped. - Changed: formal/informal is only sent where Supertext offers it; for English, Swiss German, Romansh, Albanian and Serbian a set
politenessgives the message Supertext offers no formal or informal tone for this language instead of a failed request, and Settings → Supertext warns. - Fixed: bundled Supertext SDK 0.2.1 (commit
eeba8fa): oneLANGUAGES→codeentry serves both directions; a mapped language is sent as the source in its source form (de-CH→de), so English as the source no longer fails with anen-USmapping. - Changed: bundled Supertext SDK 0.2.0 (commit
c66cb4d,v1namespace) with the key check, the version reports and the API's language list;scripts/vendor-sdk.shcopies its subpackages. - Changed: the connection to Supertext now uses the shared Supertext SDK (Python SDK, shipped inside the package, so nothing else needs installing), still through
requests. Translation works as before; an unsupported language pair now has its own message (Supertext does not support this language pair) in English, German, French and Italian. The package no longer needs BeautifulSoup. An unknown language (e.g.xx-YY) is now reported as an unsupported language pair too, not as "resource not found" (Supertext answers it with HTTP 404). - Added: French and Italian interface (and German where it was missing): Settings → Supertext and all Supertext error messages follow the user's admin language.
- The "No Supertext API key" and "Authentication failed" messages now also link to Supertext account signup.
- Settings → Supertext shows the plugin version, linked to its release notes on GitHub.