---
title: "Wagtail Localize: Mehrsprachige Django-Webseiten"
description: "Lerne, wie du mit Wagtail Localize mehrsprachige Webseiten in Django erstellst. ✅ Schritt-für-Schritt-Anleitung zur Installation & Best Practices!"
canonical_url: "https://www.blueshoe.de/blog/wagtail-localize-tutorial-mehrsprachige-webseiten-django/"
---

Mehrsprachige Webseiten mit Django Wagtail professionell umsetzen – mit Wagtail Localize lassen sich Inhalte effizient übersetzen und verwalten. In diesem Guide erfährst du, wie du Wagtail Localize installierst, konfigurierst und erfolgreich nutzt.

![Wagtail Localize: Mehrsprachige Django-Webseiten](/img/blog/wagtail-django.svg)

<global-title :size="lg" className="mb-5">

Was ist Wagtail Localize?

</global-title>

<global-paragraph>

[Wagtail](/technologien/wagtail-cms/) ist ein leistungsfähiges Django CMS zur Verwaltung von Webinhalten. Wenn du eine mehrsprachige Webseite betreiben willst, hilft dir [Wagtail Localize](https://wagtail-localize.org/stable/), Inhalte einfach zu übersetzen und zu verwalten.

</global-paragraph>

<global-paragraph>

Mit Wagtail Localize kannst du:

</global-paragraph>

<global-block className="ul-disk,mb-4">

- Mehrsprachige Inhalte direkt in der Wagtail-Admin-Oberfläche verwalten
- Automatische oder manuelle Übersetzungen nutzen
- Übersetzungsworkflows und lokale Anpassungen (z. B. für SEO) steuern
- Mehrsprachige Webseiten SEO-optimiert und effizient aufbauen

</global-block>

<global-button :color="blue" :label="Du möchtest dein Wagtail-Projekt auf den Weg bringen? Erfahre, wie Wagtail deine Webprojekte schneller, flexibler und skalierbar macht." :target="_blank" :url="/technologien/wagtail-cms/" className="mb-6">



</global-button>

<global-title :size="lg" className="mb-5">

Installation und Erste Schritte

</global-title>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

1. Wagtail Localize installieren

</global-title>

<global-paragraph>

Installiere das Paket mit pip:

</global-paragraph>

<blog-code className="mb-5">

```python
pip install wagtail-localize
```

</blog-code>

<global-paragraph>

Füge wagtail_localize in die INSTALLED_APPS deiner settings.py ein:

</global-paragraph>

<blog-code className="mb-5">

```python
INSTALLED_APPS = [
    "wagtail_localize",
    "wagtail_localize.locales",  # Ermöglicht die Verwaltung mehrsprachiger Inhalte
    "wagtail.contrib.modeladmin",
    *INSTALLED_APPS,
]
```

</blog-code>

<global-paragraph>

Führe die Migrationen aus:

</global-paragraph>

<blog-code className="mb-5">

```python
python manage.py migrate wagtail_localize
```

</blog-code>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

2. Sprachen konfigurieren

</global-title>

<global-paragraph>

In settings.py definierst du die unterstützten Sprachen:

</global-paragraph>

<blog-code className="mb-5">

```python
from django.utils.translation import gettext_lazy as _

LANGUAGES = [
    ("en", _("English")),
    ("de", _("Deutsch")),
    ("fr", _("Français")),
]

WAGTAIL_CONTENT_LANGUAGES = LANGUAGES
```

</blog-code>

<global-paragraph>

Aktiviere die Mehrsprachigkeitsoption in Wagtail:

</global-paragraph>

<blog-code className="mb-5">

```python
WAGTAIL_I18N_ENABLED = True
```

</blog-code>

<global-title :size="lg" className="mb-5">

Mehrsprachige Seiten in Wagtail verwalten

</global-title>

<global-paragraph>

Wagtail verwaltet mehrsprachige Seiten automatisch über Locales. Dafür erstellt Wagtail für jede Sprache eine separate Version der Seite, die du erstellt hast. Die Sprachen und Seiten können über die Admin-Oberfläche verwaltet werden. Die Sprachverwaltung kannst du an folgenden Screenshot sehen:

</global-paragraph>

![Mehrsprachige Seiten in Wagtail verwalten](/img/blog/mehrsprachige-Seiten-verwalten-in-Wagtail.png)

<global-paragraph>

Um jetzt in Wagtail Custom-Seiten anzulegen, genügt es, das normale Page-Modell zu benutzen.

</global-paragraph>

<global-paragraph>

Beispiel einer mehrsprachigen Seite:

</global-paragraph>

<blog-code className="mb-5">

```python
from wagtail.models import Page
class CustomPage(Page):
    pass
```

</blog-code>

<global-paragraph>

Diese Klasse wird dann automatisch von Wagtail Localize verwaltet und kann in verschiedenen Sprachen im Seitenmenü angelegt werden.

</global-paragraph>

![Wagtail Localize Seitenmenü](/img/blog/wagtail-localize-seitenmenue.png)

<global-paragraph>

Jetzt hast du bereits alles, um erste Seiten in mehreren Sprachen zu verwalten! Es gibt aber noch mehr.

</global-paragraph>

<global-title :size="lg" className="mb-5">

Wann brauchst du TranslatableMixin?

</global-title>

<global-paragraph>

Falls du Snippets oder andere Datenmodelle mehrsprachig verwalten willst, nutze [TranslatableMixin](https://wagtail-localize.org/stable/tutorial/3-content/).

</global-paragraph>

<global-paragraph>

Beispiel für ein übersetzbares Snippet (z. B. eine Personen-Datenbank):

</global-paragraph>

<blog-code className="mb-5">

```python
from wagtail.snippets.models import register_snippet
from wagtail_localize.models import TranslatableMixin
from django.db import models
from wagtail.admin.panels import FieldPanel
from django.utils.translation import gettext_lazy as _

@register_snippet
class Person(TranslatableMixin, models.Model):
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    email = models.EmailField(blank=True, null=True)
    job_function = models.CharField(_("Function"), max_length=400, blank=True, null=True)
    job_function_international = models.CharField(_("Function international"), max_length=400, blank=True, null=True)
    image = models.ForeignKey("wagtailimages.Image", null=True, blank=True, on_delete=models.SET_NULL, related_name="+")
    phone = models.CharField(_("Phone"), max_length=200, blank=True, null=True)
    mobile = models.CharField(_("Mobile"), max_length=200, blank=True, null=True)
    country = models.CharField(_("Country"), max_length=200, blank=True, null=True)

    panels = [
        FieldPanel("first_name"),
        FieldPanel("last_name"),
        FieldPanel("email"),
        FieldPanel("job_function"),
        FieldPanel("job_function_international"),
        FieldPanel("image"),
        FieldPanel("phone"),
        FieldPanel("mobile"),
        FieldPanel("country"),
    ]

    def __str__(self):
        return f"{self.first_name} {self.last_name}"
```

</blog-code>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

Typische Anwendungsfälle für TranslatableMixin:

</global-title>

<global-block className="ul-disk,mb-4">

- Übersetzbare Team-Mitglieder-Profile
- Mehrsprachige Produktbeschreibungen in einer Datenbank
- Globale Einstellungen, die sprachspezifisch angepasst werden sollen

</global-block>

<global-title :size="lg" className="mb-5">

Best Practices für Wagtail Localize

</global-title>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

1. Einheitliche Sprachverwaltung

</global-title>

<global-block className="ul-disk,mb-4">

- Stelle sicher, dass alle Sprachversionen einer Seite die gleiche Grundstruktur haben.
- Übersetze nicht nur den Inhalt, sondern passe auch SEO-relevante Daten (Titel, Meta-Beschreibungen) an.

</global-block>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

2. SEO für Mehrsprachigkeit optimieren

</global-title>

<global-block className="ul-disk,mb-4">

- Nutze hreflang-Tags, um Suchmaschinen zu zeigen, welche Version für welche Sprache gedacht ist.
- Stelle sicher, dass URLs sprachspezifisch sind, z. B. /de/about/ statt /about-de/.

</global-block>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

3. Performance beachten

</global-title>

<global-block className="ul-disk,mb-4">

- Caching aktivieren, um häufig genutzte Übersetzungen schneller auszuliefern.

</global-block>

<global-button :color="blue" :label="Nutze Wagtail für leistungsstarke, mehrsprachige Websites mit einfacher Verwaltung. Jetzt mehr erfahren!" :target="_blank" :url="/technologien/wagtail-cms/" className="mb-6">



</global-button>

<global-title :size="lg" className="mb-5">

Dein Einstieg in Wagtail Localize

</global-title>

<global-paragraph>

Mit Wagtail Localize erstellst du mehrsprachige Django-Webseiten schnell, effizient und SEO-optimiert. Dank einfacher Konfiguration und Übersetzungs-Features ist es ein starkes Tool für internationale Webprojekte.

</global-paragraph>

<global-paragraph>

Nutze die Best Practices, um eine nachhaltige und gut strukturierte mehrsprachige Webseite aufzubauen!

</global-paragraph>

<global-title :size="lg" className="mb-5,mt-8">

Häufige Fragen

</global-title>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

1. Was ist Wagtail Localize und warum sollte ich es nutzen?

</global-title>

<global-paragraph>

Wagtail Localize ist ein leistungsstarkes Übersetzungs-Tool für das Wagtail CMS. Es ermöglicht dir, mehrsprachige Webseiten effizient zu verwalten, Inhalte direkt in der Admin-Oberfläche zu übersetzen und Übersetzungs-Workflows flexibel zu steuern.

</global-paragraph>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

2. Wie installiere ich Wagtail Localize in meinem Django-Projekt?

</global-title>

<global-paragraph>

Die Installation erfolgt in drei einfachen Schritten:

</global-paragraph>

<global-block className="ul-disk,mb-4">

- Paket installieren: pip install wagtail-localize
- In INSTALLED_APPS aufnehmen
- Migrationen ausführen mit python manage.py migrate wagtail_localize

</global-block>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

3. Unterstützt Wagtail Localize automatische Übersetzungen?

</global-title>

<global-paragraph>

Ja! Du kannst Inhalte manuell übersetzen oder eine automatische Übersetzung (z. B. via DeepL oder Google Translate API) in den Workflow integrieren.

</global-paragraph>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

4. Wie funktioniert die Sprachverwaltung in Wagtail?

</global-title>

<global-paragraph>

Wagtail nutzt das Locale-System, um Sprachversionen einer Seite zu verwalten. Jede Sprache erhält eine eigene Seitenversion, die du im Admin-Bereich anpassen kannst.

</global-paragraph>

<global-title :size="md" className="mb-5" :color="text-bs-blue" :font="font-oswald" :tag="h3">

5. Ist Wagtail Localize gut für SEO?

</global-title>

<global-paragraph>

Ja! Wagtail Localize unterstützt SEO-Best Practices für mehrsprachige Webseiten, darunter:

</global-paragraph>

<global-block className="ul-disk,mb-4">

- hreflang-Tags zur Kennzeichnung von Sprachversionen
- Sprachspezifische URLs (/de/ statt /about-de/)
- Individuelle SEO-Texte pro Sprache

</global-block>

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
