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.8, 3.9, 3.10, 3.11)
- Django (3.2, 4.1, 4.2)
- Wagtail (4.1, 5.1, 5.2) with internationalisation enabled
- wagtail-modeladmin if
using wagtail_localize.modeladmin
and Wagtail >= 5.0
Install using pip
:
pip install wagtail-localize
Add wagtail_localize
and wagtail_localize.locales
to your INSTALLED_APPS
setting:
INSTALLED_APPS = [
# ...
"wagtail_localize",
"wagtail_localize.locales", # This replaces "wagtail.locales"
# ...
]
wagtail-localize
loads additional assets for the editing interface. Run the collectstatic
management command to collect all the required assets.
python manage.py collectstatic
All contributions are welcome!
To make changes to this project, first clone this repository:
git clone [email protected]:wagtail/wagtail-localize.git
cd wagtail-localize
With your preferred virtualenv activated, install testing dependencies:
pip install pip>=21.3
pip install -e '.[testing]' -U
pip install "flit>=3.8.0"
flit install
Note that this project uses pre-commit. To set up locally:
# 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
Now you can run tests as shown below:
tox
or, you can run them for a specific environment tox -e python3.8-django3.2-wagtail4.1
or specific test
tox -e python3.9-django3.2-wagtail4.1-sqlite -- wagtail_localize.tests.test_edit_translation.TestGetEditTranslationView
To run the test app interactively, use tox -e interactive
, visit https://127.0.0.1:8020/admin/
and log in with admin
/changeme
.
For support, please use GitHub Discussions or ask a question on the #multi-language
channel on Wagtail's Slack instance.
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.