Skip to main content

Page translation plugin for Wagtail

Project description

A plugin for Wagtail that provides page translations. By extending your pages with the models included in this package users will be redirected to pages in (or closest to) their language.

Installing

Install using pip:

$ pip install wagtailtranslations

Add it to your INSTALLED_APPS:

INSTALLED_APPS = [
    # ...
    'wagtailtranslations',
    # ...
]

It works with Wagtail 2.2 and upwards. Check versions before 2.0 for compatability with older versions of wagtail.

Quick start

Define a TranslationIndex model:

from wagtailtranslations.models import AbstractTranslationIndexPage

class TranslationHomePage(AbstractTranslationIndexPage):
    subpage_types = ['ContentPage']

Use this as your site root page. Each language your site supports should exist as a separate page tree underneath this index page. The English home page should have a slug “en”, for a URL of /en/; while the French home page should have a slug “fr”, for a URL of /fr/.

Define a translated model:

from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.fields import RichTextField
from wagtail.core.models import Page
from wagtailtranslations.models import TranslatedPage

class ContentPage(TranslatedPage, Page):
    body = RichTextField()

    content_panels = Page.content_panels + [
        FieldPanel('body'),
    ]

Enable some languages in the Wagtail admin → Settings → Languages, for example English and French.

Create a new ContentPage for English. On the ‘Translations’ tab, select English for the language, and leave the ‘Translation of …’ field blank.

Create another new ContentPage for French. On the ‘Translations’ tab, select French for the language, and select the English page you just created in the ‘Translation of …’ field.

Testing

To start a test server, run:

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -e .
$ export DJANGO_SETTINGS_MODULE=tests.settings
$ django-admin migrate
$ django-admin createsuperuser
$ django-admin runserver

To run the automated test suite:

# Do not run this from within a virtual environment
$ pip install --user --upgrade tox pip setuptools
$ tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wagtailtranslations-2.0.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

wagtailtranslations-2.0.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file wagtailtranslations-2.0.1.tar.gz.

File metadata

File hashes

Hashes for wagtailtranslations-2.0.1.tar.gz
Algorithm Hash digest
SHA256 7b9afcc6f0784e35677f972bd24a7e448ec7386a73c1bcef7b7227bab98d6665
MD5 cce126aa05e3ea125d36e54faca2ca76
BLAKE2b-256 d3c8214f42a0b44828891865c5c652f39f9d75879423f440f44cbdde25fa11c9

See more details on using hashes here.

Provenance

File details

Details for the file wagtailtranslations-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wagtailtranslations-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c16b2ef40aa46fdef0a0145f2d15a0598478abcf2adc003ebb44d07ee685524
MD5 d2f8cc458cc9871ee4206357d4e8e701
BLAKE2b-256 3b6eb667ab2a8a530e8a18264bd72ecfa484f7dc3c181b3807f74b0aa01f4868

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page