Internacionalización de la aplicación

Registered by Esaú Rodríguez

Es necesario que la aplicación este correctamente internacionalizada para que sea útil a la mayor cantidad de personas posible. Django está preparado para hacer esto fácilmente, pero es necesario tenerlo en cuenta a la hora de hacer determinadas cosas.

Blueprint information

Status:
Not started
Approver:
Esaú Rodríguez
Priority:
High
Drafter:
None
Direction:
Needs approval
Assignee:
Paketicious Team
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
milestone icon 0.1

Related branches

Sprints

Whiteboard

Made by choms:

Aqui dejo un par de enlaces interesantes sobre internacionalización que he encontrado:

http://www.djangoproject.com/documentation/i18n/ (Manual de Django)

http://feh.holsman.net/articles/2006/07/31/i18n-tip-for-django (Pequeño tutorial en inglés)

Made by perseo:

nvestigaciones sobre i18n:

1) Todos los mensajes que haya en el código fuente es necesario ponerlos con _("mensaje") y en las plantillas con {% trans "mensaje" %}. Ojo, en las plantillas hay que añadir en la primera fila {% load i18n %}

2) Se puede crear un fichero de internacionalización para todo el proyecto django, o bien crear ficheros de internacionalización para cada aplicación. ¿Cómo lo hacemos? Yo entiendo que bastaría con hacer uno para todo el proyecto, porque al fin y al cabo, las traducciones son válidas para cualquier aplicación.

3) A la hora de definir las traducciones también veo dos posibilidades. Una es poner los mensajes en español en el código, y luego hacer un fichero de traducción para pasarlos a inglés, o al revés. Yo creo que es mejor la primera opción.

4) Según se especifica en la documentación de django, si añadimos al proyecto unos middleware de locales, django será capaz de detectar el idioma en el que está trabajando el navegador que accede a nuestra página y cambiará el idioma automáticamente. Por lo tanto, lo único que habría que hacer es añadir algún enlace que nos permita modificar el idioma si es que el usuario no quiere el que está. También entiendo que si se modifica el lenguaje se modificará para todo el proyecto, no independiente por aplicación.

5) El middleware de locale ignora lo que hay definido en la variable LANGUAGE_CODE, ya que obtiene el código de lenguaje de otros lugares.

6) Los códigos de lenguajes utilizados se pueden encontrar en:

http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.