09.04.2025

Starte mit Wagtail Localize und optimiere deine mehrsprachige Webseite

Wagtail Localize: Mehrsprachige Django-Webseiten

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

Inhaltsverzeichnis

Was ist Wagtail Localize?

Wagtail ist ein leistungsfähiges Django CMS zur Verwaltung von Webinhalten. Wenn du eine mehrsprachige Webseite betreiben willst, hilft dir Wagtail Localize, Inhalte einfach zu übersetzen und zu verwalten.

Mit Wagtail Localize kannst du:

  • 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
Du möchtest dein Wagtail-Projekt auf den Weg bringen? Erfahre, wie Wagtail deine Webprojekte schneller, flexibler und skalierbar macht.

Installation und Erste Schritte

1. Wagtail Localize installieren

Installiere das Paket mit pip:

pip install wagtail-localize

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

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

Führe die Migrationen aus:

python manage.py migrate wagtail_localize

2. Sprachen konfigurieren

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

from django.utils.translation import gettext_lazy as _

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

WAGTAIL_CONTENT_LANGUAGES = LANGUAGES

Aktiviere die Mehrsprachigkeitsoption in Wagtail:

WAGTAIL_I18N_ENABLED = True

Mehrsprachige Seiten in Wagtail verwalten

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:

Mehrsprachige Seiten in Wagtail verwalten

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

Beispiel einer mehrsprachigen Seite:

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

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

Wagtail Localize Seitenmenü

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

Wann brauchst du TranslatableMixin?

Falls du Snippets oder andere Datenmodelle mehrsprachig verwalten willst, nutze TranslatableMixin.

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


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}"

Typische Anwendungsfälle für TranslatableMixin:

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

Best Practices für Wagtail Localize

1. Einheitliche Sprachverwaltung

  • 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.

2. SEO für Mehrsprachigkeit optimieren

  • 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/.

3. Performance beachten

  • Caching aktivieren, um häufig genutzte Übersetzungen schneller auszuliefern.
Nutze Wagtail für leistungsstarke, mehrsprachige Websites mit einfacher Verwaltung. Jetzt mehr erfahren!

Dein Einstieg in Wagtail Localize

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.

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

Häufige Fragen

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

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.

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

Die Installation erfolgt in drei einfachen Schritten:

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

3. Unterstützt Wagtail Localize automatische Übersetzungen?

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

4. Wie funktioniert die Sprachverwaltung in Wagtail?

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.

5. Ist Wagtail Localize gut für SEO?

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

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

Hast du noch Fragen oder eine Meinung? Mit deinem GitHub Account kannst Du es uns wissen lassen...


Was unsere Kunden über uns sagen

Ofa Bamberg GmbHRainer Kliewe
Ludwig-Maximilians-Universität MünchenProf. Dr. Mario Haim
Deutsches MuseumGeorg Hohmann
Fonds Finanz Maklerservice GmbHNorbert Porazik
Technische Universität HamburgSören Schütt-Sayed
  • Ofa Bamberg GmbH
    Ofa Bamberg GmbH
    B2B Online-Shop | B2C Website | Hosting | Betreuung | Security
    Rainer Kliewe
    © Ofa Bamberg GmbH
    Blueshoe betreut uns und unsere Webapplikationen seit vielen Jahren. Vom Online-Shop bis hin zu großen Teilen unseres Web-Umfelds hat sich das Unternehmen stets kompetent, verlässlich und vorausschauend gezeigt. Wir sind sehr zufrieden mit Blueshoe als Partner.
    Rainer KlieweGeschäftsführer
  • Ludwig-Maximilians-Universität München
    Ludwig-Maximilians-Universität München
    Plattformentwicklung | Hosting | Betreuung | APIs | Website
    Prof. Dr. Mario Haim
    Blueshoe hat unsere Forschungsdatenplattform Munich Media Monitoring (M3) entwickelt und uns hervorragend dabei beraten. Das Team hat unsere Anforderungen genau verstanden und sich aktiv in die Ausgestaltung der Software und der Betriebsumgebung eingebracht. Wir sind froh, dass auch Wartung und weiterführender Support in Blueshoes Händen liegen.
    Prof. Dr. Mario HaimLehrstuhlinhaber, Institut für Kommunikationswissenschaft und Medienforschung
  • Deutsches Museum
    Deutsches Museum
    Digitalisierung | Beratung | Datenbank-Optimierung | GraphQL | CMS
    Georg Hohmann
    Foto: Anne Göttlicher
    Im Rahmen eines komplexen Digitalisierungsprojekts für unsere Exponate-Datenbank war Blueshoe ein äußerst verlässlicher Partner. Sie haben uns nicht nur während des gesamten Projekts hervorragend beraten, sondern unsere Anforderungen perfekt umgesetzt. Dank ihrer Arbeit ist unsere Datenbank nun ein bedeutender Mehrwert für die weltweite wissenschaftliche Forschung.
    Georg HohmannLeiter Deutsches Museum Digital
  • Fonds Finanz Maklerservice GmbH
    Fonds Finanz Maklerservice GmbH
    Plattformentwicklung | Prozess-Systeme | Hosting | Betreuung | Zertifikate | Website
    Norbert Porazik
    © Fonds Finanz Maklerservice GmbH
    Blueshoe ist unsere verlängerte Werkbank für Entwicklung, Wartung und Support unserer Weiterbildungs- und Zertifizierungsplattformen. Das Team hat sich gründlich in unsere Abläufe eingearbeitet, und wir freuen uns, Blueshoe als zuverlässigen Partner an unserer Seite zu haben.
    Norbert PorazikGründer und Geschäftsführer
  • Technische Universität Hamburg
    Technische Universität Hamburg
    Plattformentwicklung | Beratung | Prozess-Systeme | Hosting | Website
    Sören Schütt-Sayed
    Seit 2019 unterstützt uns die Blueshoe GmbH tatkräftig bei der Entwicklung und Weiterentwicklung des "Digital Learning Lab" und der "Digital Learning Tools". Dank ihrer Beratung konnten wir von Anfang an auf eine zukunftssichere, moderne technische Struktur setzen. Die Zusammenarbeit ist reibungslos, und wir fühlen uns rundum gut betreut. Und davon profitieren dann auch die Lehrkräfte in Hamburg.
    Sören Schütt-SayedOberingenieur