Skip to main content

Page translation plugin for Wagtail

Project description

A plugin for Wagtail that provides page translations.

Installing

Install using pip:

$ pip install wagtailtranslations

Add it to your INSTALLED_APPS:

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

It works with Wagtail 1.7 and upwards.

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.wagtailadmin.edit_handlers import FieldPanel
from wagtail.wagtailcore.fields import RichTextField
from wagtail.wagtailcore.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-0.2.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

wagtailtranslations-0.2.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for wagtailtranslations-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b3982dd01db76f35a88df9b2dfdf242c757cd87fc99b96e6fe5c24308fa4f03a
MD5 709fce5ccd9b7da8f0aff640fedfa2e2
BLAKE2b-256 508d4c5121a1a93e12f5d8d1bd1c7641f42427e63bd15f1f53e6d2448c7e2af4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wagtailtranslations-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 306ebe4da19aeed21fb61a6f8db8743a741b1d02dd911b0537a83f8709d8c1c6
MD5 c1be9f8d31e7867400515052f8b4aac8
BLAKE2b-256 7d4b804d31360bc8f9c487a7db20d2c6212cce2543955566ec4f6948f205916a

See more details on using hashes here.

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