Volver a la página principal
miércoles 16 octubre 2024
24

Cómo implementar la internacionalización en Django

La internacionalización (i18n) en Django permite crear aplicaciones web multilingües, adaptando el contenido de la interfaz a diferentes idiomas y formatos de región. Django proporciona herramientas integradas para traducir texto, manejar diferentes formatos de fechas, números y otros datos, haciendo que las aplicaciones sean accesibles a usuarios de diferentes localizaciones.

¿Qué es la internacionalización (i18n) en Django?

La internacionalización (i18n) en Django se refiere al proceso de preparar una aplicación para soportar múltiples idiomas. Esto incluye traducir texto en las plantillas y archivos de Python, así como gestionar la localización de formatos (fechas, horas, números, etc.). Django hace uso de un sistema de archivos .po y .mo para gestionar las traducciones y proporciona utilidades para detectar el idioma preferido del usuario.

Los pasos principales para implementar i18n en Django incluyen:

1. Marcar el texto para traducción.

2. Crear archivos de traducción.

3. Compilar las traducciones.

4. Configurar la detección automática de idiomas y localización.

Ejemplo de internacionalización en Django

1. Marcar texto para traducción

Para marcar cadenas de texto que necesitan ser traducidas, debes usar las funciones gettext() o gettext_lazy() en tus archivos Python, y el filtro trans en las plantillas HTML.

Ejemplo en un archivo Python:

from django.utils.translation import gettext as _

def my_view(request):
    message = _("Hello, world!")
    return render(request, 'my_template.html', {'message': message})

Ejemplo en una plantilla HTML:

<p>{% trans "Hello, world!" %}</p>

2. Crear archivos de traducción

Ejecuta el siguiente comando para generar los archivos de traducción .po:

django-admin makemessages -l es

Esto crea un archivo .po en el directorio locale/es/LC_MESSAGES/, donde puedes añadir las traducciones al español.

3. Compilar las traducciones

Después de añadir las traducciones al archivo .po, debes compilarlas para que Django las use:

django-admin compilemessages

4. Configurar el idioma y localización

En el archivo settings.py, configura el idioma y las opciones de localización:

LANGUAGE_CODE = 'en-us'  # Idioma por defecto
USE_I18N = True  # Habilitar la internacionalización
USE_L10N = True  # Habilitar localización de formatos

LANGUAGES = [
    ('en', 'English'),
    ('es', 'Español'),
]

Documentación oficial de Django

Para más detalles sobre la configuración de la internacionalización, visita la documentación oficial de Django.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer