¿Cómo configurar la traducción de Django de la manera correcta?
Tengo un problema con las traducciones que no funcionan en Django 1.6 !. He añadido a mi configuración.py
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('de', ugettext('German')),
)
También se ha añadido middlewares:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
así como a mis archivos * .py siempre que esté usando una cadena que será l10nd:
from django.utils.translation import ugettext_lazy as _
Mis plantillas comenzando con
{% extends "base.html" %}
{% load i18n %}
y dentro de la plantilla que usé el marcador de posición trans. P.ej.
<h1>{% trans "Register a tank" %}</h1>
De hecho, la cadena aparece dentro de locale / de / LC_MESSAGES / django.po cuando se ejecuta también los he traducido. P.ej.
msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
Mi navegador está configurado para solicitar contenido en alemán primero:Configuración del navegador
¿Qué me perdí?
PD El proyecto en el que me estoy moviendo actualmente está alojado en github:https://github.com/frlan/blankspot