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.
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
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:
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.
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.
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 GmbHB2B Online-Shop | B2C Website | Hosting | Betreuung | Security© Ofa Bamberg GmbH
- Ludwig-Maximilians-Universität MünchenPlattformentwicklung | Hosting | Betreuung | APIs | Website
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.
- Deutsches MuseumDigitalisierung | Beratung | Datenbank-Optimierung | GraphQL | CMSFoto: 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.
- Fonds Finanz Maklerservice GmbHPlattformentwicklung | Prozess-Systeme | Hosting | Betreuung | Zertifikate | Website© 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.
- Technische Universität HamburgPlattformentwicklung | Beratung | Prozess-Systeme | Hosting | Website
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.