У меня проблема с переводами, не работающими на Django 1.6 !. Я добавил к моему settings.pyКак правильно настроить перевод Django?
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 файлам всякий раза, когда я использую строку, которая должна быть l10nd:
from django.utils.translation import ugettext_lazy as _
Мои шаблоны, начиная с
{% extends "base.html" %}
{% load i18n %}
и внутри шаблона, чем я использовал trans placeholder. Например.
<h1>{% trans "Register a tank" %}</h1>
На самом деле эта строка появляется в локали/де/LC_MESSAGES/django.po, когда работает, а я перевел их. Например.
msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
Мой браузер настроен просить немецкое содержание первого: Browser settings
Что я пропустил?
P.S. Проект я в настоящее время fuzzying вокруг размещается на GitHub: https://github.com/frlan/blankspot
Что на самом деле происходит? Английский показ? Не отображаются переводы? –
Перевод не отображается. – frlan
У вас есть 'USE_I18N = True'? – Seitaridis