У меня проблема с переводами, не работающими на Django 1.6. Я добавил это в мои settings.py:
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('de', ugettext('German')),
)
Также добавлено промежуточное ПО:
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',
)
а также мои *.py файлы, когда я использую строку, которая должна быть l10-й:
from django.utils.translation import ugettext_lazy as _
Мои шаблоны начинаются с:
{% extends "base.html" %}
{% load i18n %}
и внутри шаблона я использовал заполнитель trans
. Э.Г.
<h1>{% trans "Register a tank" %}</h1>
Я предоставил переводы в локаль /de/LC_MESSAGES/django.po:
msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
Мой браузер в первую очередь настроен на запрос немецкого контента: Настройки браузера
Что я пропустил?
Постскриптум Проект, в котором я сейчас размышляю, размещен на GitHub: https://github.com/frlan/blankspot