Django i18n
Django i18n: Ingebouwde vertaalfunctie voor Python-webapps
Django wordt geleverd met een volledig internationaliseringsframework op basis van GNU gettext. Markeer strings voor vertaling in views, models en templates met behulp van gettext-functies en template-tags. Django compileert .po-bestanden naar .mo-binaries voor snel opzoeken, en de middleware activeert automatisch de juiste locale op basis van URL-prefixes, cookies of browserheaders.
Capabilities
Django i18n-functies
Integratie van GNU gettext met de vertaalfuncties _() en gettext_lazy()
De workflow voor .po/.mo-bestanden met de opdrachten `makemessages` en `compilemessages`
Sjabloontags {% trans %} en {% blocktrans %} voor vertalingen binnen sjablonen
Ondersteuning voor vervoeging met ngettext en {% blocktrans count %}
Lazy-vertaling met gettext_lazy() voor modelvelden en formulierlabels
LocaleMiddleware voor automatische taaldetectie op basis van URL’s, cookies en headers
i18n_patterns voor URL-routing met een taalcode als voorvoegsel (bijv. /en/about, /fr/about)
Lokalisatie van formulier- en modelvelden voor datums, getallen en valuta’s
Tijdzone-bewuste verwerking van datum- en tijdgegevens met USE_TZ en pytz-integratie
Example
Django i18n in de praktijk
Gebruik de gettext-functies in Views en ngettext voor meervoudsvormen, en configureer vervolgens LANGUAGES in settings.py om de ondersteunde taalversies te definiëren.
# 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'),
]Gerelateerde handleidingen
Ruby i18nVergelijk Django gettext met de op YAML gebaseerde i18n van Ruby on Rails voor vertaalpatronen aan de serverzijde.JavaScript i18nOntdek de JavaScript Intl API voor opmaak aan de clientzijde in combinatie met uw Django-backend.Vergelijkingen van TMSVergelijk vertaalbeheerplatforms om het platform te vinden dat het beste bij uw Django-project past.
Bekijk andere handleidingen voor frameworks
Get started
Begin vandaag nog met het lokaliseren van Django
Beheer de vertalingen van uw Django .po-bestanden met AI-gestuurde workflows, CLI-synchronisatie en CDN-levering binnen 50 ms.