Traducir un sitio web en Django


Django esta preparado para hacer un sitio web o plataforma multi-lenguage, para habilitarlo solo tenemos que hacer lo siguiente.

1) Crear una carpeta llamada “locale” en el root de nuestra aplicación.

2) Definir el LANGUAGE_CODE = ‘es-ES’

3) Añadir el “LOCALE_PATHS” al fichero settings.py en el que se tiene que poner la ruta absoluta hacia la carpeta locale dentro de tu app (la creada en el paso 1)

LOCALE_PATHS = (
    '/ruta/absoluta/hacia/tu/app/locale/'
)

4) Asegurarse que el i18n esté activado:

USE_I18N = True

5) Carga los template tags en tus plantillas HTML. Arriba de tus plantillas HTML carga los siguientes template tags:

{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_current_language_bidi as LANGUAGE_BIDI %}

6) Hacer los textos traducibles, todos los textos que quieras traducir tienes que ponerlos así:

{% trans "Texto por defecto a traducir" %}

7) Poner el siguiente comando en la consola:

django-admin.py makemessages -l ca -e html

En este caso estaríamos creando una traducción de los textos al catalán. Esto nos creará un fichero “.po” dentro de la carptea “locale” que hemos creado, ahí se podrán traducir los textos.

8) Convertir el .po a .mo cuando ya este traducido:

django-admin.py compilemessages

Para actualizar el fichero “.po” se puede hacer fácilmente con el siguiente comando:

django-admin.py makemessages -l ca
Etiquetas: ,

You may also like

LEAVE A COMMENT