Django i18n : traduction intégrée pour les applications web Python
Django intègre un framework d'internationalisation complet basé sur GNU gettext. Marquez les chaînes à traduire dans les vues, les modèles et les modèles de mise en page à l'aide des fonctions gettext et des balises de modèle. Django compile les fichiers .po en binaires .mo pour une recherche rapide, et son middleware active automatiquement la locale appropriée en fonction des préfixes d'URL, des cookies ou des en-têtes de navigateur.
Fonctionnalités d'internationalisation (i18n) de Django
Django i18n en pratique
Utilisez les fonctions gettext dans les vues et ngettext pour les pluriels, puis configurez LANGUAGES dans settings.py pour définir les paramètres régionaux pris en charge.
# 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'),
]Guides connexes
Découvrez d'autres guides sur les frameworks
Get started
Commencez dès aujourd'hui à localiser Django
Gérez les traductions de vos fichiers .po Django grâce à des workflows basés sur l'IA, une synchronisation via l'interface de ligne de commande et une diffusion via CDN en moins de 50 ms.