Wagtail Localize is a translation plugin for the Wagtail CMS. It allows pages or snippets to be translated within Wagtail's admin interface. It also provides integrations with external translations services such as Pontoon or DeepL, and importing/exporting translations with PO files.
Wagtail Localize requires the following:
- Python (3.7, 3.8, 3.9, 3.10)
- Django (2.2, 3.0, 3.1, 3.2, 4.0)
- Wagtail (2.11, 2.12, 2.13, 2.14, 2.15, 2.16, 3.0) with internationalisation enabled
pip install wagtail-localize
wagtail_localize.locales to your
INSTALLED_APPS = [ # ... "wagtail_localize", "wagtail_localize.locales", # This replaces "wagtail.locales" # ... ]
All contributions are welcome!
To make changes to this project, first clone this repository:
git clone email@example.com:wagtail/wagtail-localize.git cd wagtail-localize
With your preferred virtualenv activated, install testing dependencies:
pip install -e .[testing] -U
Note that this project uses pre-commit. To set up locally:
# if you don't have it yet, globally $ pip install pre-commit # go to the project directory $ cd wagtail-localize # initialize pre-commit $ pre-commit install # Optional, run all checks once for this, then the checks will run only on the changed files $ pre-commit run --all-files
How to run tests
Now you can run tests as shown below:
or, you can run them for a specific environment
tox -e python3.8-django3.2-wagtail2.15 or specific test
tox -e python3.9-django3.2-wagtail2.15-sqlite wagtail_localize.tests.test_edit_translation.TestGetEditTranslationView
To run the test app interactively, use
tox -e interactive, visit
http://127.0.0.1:8020/admin/ and log in with
Many thanks to all of our supporters, contributors, and early adopters who helped with the initial release. In particular, to The Mozilla Foundation and Torchbox who sponsored the majority of the initial development and Wagtail core's internationalisation support.