Django i18n: traducción integrada para aplicaciones web en Python
Django incluye un completo marco de internacionalización basado en GNU gettext. Marque las cadenas que desee traducir en vistas, modelos y plantillas utilizando las funciones y etiquetas de plantilla de gettext. Django compila los archivos .po en binarios .mo para agilizar la búsqueda, y su middleware activa automáticamente la configuración regional adecuada en función de los prefijos de URL, las cookies o los encabezados del navegador.
Funciones de internacionalización de Django
La internacionalización en Django en la práctica
Utilice las funciones de gettext en Views y ngettext para los plurales y, a continuación, configure la variable LANGUAGES en settings.py para definir las configuraciones regionales compatibles.
# 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'),
]Guías relacionadas
Ruby i18n
Compare la internacionalización (i18n) de Django con gettext y la de Ruby on Rails basada en YAML en lo que respecta a los patrones de traducción del lado del servidor.
JavaScript i18n
Explore la API Intl de JavaScript para el formateo del lado del cliente junto con su backend de Django.
Comparativas de TMS
Compare las plataformas de gestión de traducciones para encontrar la que mejor se adapte a su proyecto de Django.
Explore otras guías sobre marcos de trabajo
Empiece hoy mismo con la localización de Django
Gestione las traducciones de sus archivos .po de Django con flujos de trabajo basados en IA, sincronización mediante la interfaz de línea de comandos y entrega a través de CDN en menos de 50 ms.