Zum Inhalt springen
Django i18n

Django i18n: Integrierte Übersetzungsfunktion für Python-Webanwendungen

Django verfügt über ein umfassendes Internationalisierungs-Framework, das auf GNU gettext basiert. Markieren Sie Zeichenfolgen in Ansichten, Modellen und Vorlagen mithilfe von gettext-Funktionen und Template-Tags für die Übersetzung. Django kompiliert .po-Dateien zu .mo-Binärdateien für eine schnelle Suche, und seine Middleware aktiviert automatisch die richtige Sprachumgebung basierend auf URL-Präfixen, Cookies oder Browser-Headern.

Funktionen zur Internationalisierung in Django

GNU-gettext-Integration mit den Übersetzungsfunktionen _() und gettext_lazy()
Arbeitsablauf für .po- und .mo-Dateien mit den Befehlen „makemessages“ und „compilemessages“
Template-Tags {% trans %} und {% blocktrans %} für Übersetzungen innerhalb von Templates
Unterstützung für Pluralformen mit ngettext und {% blocktrans count %}
Lazy-Übersetzung mit gettext_lazy() für Modellfelder und Formularbeschriftungen
LocaleMiddleware zur automatischen Spracherkennung anhand von URLs, Cookies und Headern
i18n_patterns für das Routing von URLs mit Sprachpräfix (z. B. /en/about, /fr/about)
Lokalisierung von Formular- und Modellfeldern für Datumsangaben, Zahlen und Währungen
Zeitzonenbewusste Datums- und Uhrzeitverarbeitung mit USE_TZ und pytz-Integration

Django i18n in der Praxis

Verwenden Sie die gettext-Funktionen in Views und ngettext für Pluralformen und konfigurieren Sie anschließend LANGUAGES in settings.py, um die von Ihnen unterstützten Sprachumgebungen festzulegen.

# views.py
from django.utils.translation import gettext as _
from django.utils.translation import ngettext

def welcome(request):
    output = _("Welcome to our site")
    count = 5
    output += ngettext(
        "%(count)d item",
        "%(count)d items",
        count
    ) % {"count": count}
    return HttpResponse(output)

# settings.py
LANGUAGE_CODE = 'en'
USE_I18N = True
LANGUAGES = [
    ('en', 'English'),
    ('fr', 'French'),
    ('de', 'German'),
]

Beginnen Sie noch heute mit der Lokalisierung von Django

Verwalten Sie die Übersetzungen Ihrer Django-.po-Dateien mit KI-gestützten Workflows, CLI-Synchronisierung und CDN-Bereitstellung in weniger als 50 ms.