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
Ruby i18n
Comparez le système gettext de Django avec la fonctionnalité d'internationalisation (i18n) basée sur YAML de Ruby on Rails pour les modèles de traduction côté serveur.
JavaScript i18n
Découvrez l'API Intl de JavaScript pour le formatage côté client en complément de votre backend Django.
Comparaisons TMS
Comparez les plateformes de gestion de traduction afin de trouver celle qui convient le mieux à votre projet Django.
Découvrez d'autres guides sur les frameworks
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.