шаблон перевода django {% trans “что-то”%}

Хорошо, я искал как сумасшедший для этого, я думаю, простая проблема.

Я использую Django 1.4

Проблема состоит в том, что django не переведет простую {% trans & quot; работу & quot; %} в моем шаблоне.

Вот что я сделал:

Settings.py:

LANGUAGE_CODE = 'en-us'
USE_I18N = True
MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.request",
)

LOCALE_PATHS = (
    '/home/m00p/PycharmProjects/astrid/locale'
)

это моя структура карты:

/
myproject/
apps/
locale/
template/

Итак, я побежал

django-admin.py makemessages -l nl -i settings.py

и он успешно создан в папке локали nl / LC_MESSAGES / django.po, затем я редактирую перевод, найденный в django.po

#: templates/base.html:22
msgid "work"
msgstr "ddddddddddddd"

Затем я запускаю команду компиляции

django-admin.py compilemessages

и он также успешно создал файл django.mo в правильной папке

Я добавил это также в myproject / urls.py

urlpatterns = patterns('',
    url(r'^i18n/', include('django.conf.urls.i18n')),
)

urlpatterns += i18n_patterns('',
    url(r'^

Я добавил это в файл base.html, чтобы можно было изменить язык

<form action="/i18n/setlang/" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value="/" />
    <select name="language">
        {% get_language_info_list for LANGUAGES as languages %}
        {% for language in languages %}
            <option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
        {% endfor %}
    </select>
    <input type="submit" value="Go" />
</form>

Поэтому, когда я захожу на веб-сайт, я получаю 127.0.0.1:8000/en/ в URL, это правильно, потому что englisch является языком по умолчанию, когда я затем изменяю его с помощью формы на NL, он перенаправляет на 127.0.0.1:8000 / nl /, но текст, который я перевел, не изменился. Я также уверен, что этот язык - NL, потому что когда я отображаю {{LANGUAGE_CODE}}, он говорит NL.

Кто-нибудь знает, почему это не меняется?

Спасибо m00p

PROBLEM SOLVED

В процессе добавления вещей, которые я забыл, чтобы они работали, я перезапустил сервер развертывания, ноdidn't cleared the cache of my browser он все еще использовал старые страницы, поэтому, когда я очистил данные своего браузера в Chrome, снова посетил страницу и изменил язык, он правильно ее перевел. В любом случае, спасибо за предложения!

, 'front.views.home', name='home'), )

Я добавил это в файл base.html, чтобы можно было изменить язык

<form action="/i18n/setlang/" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value="/" />
    <select name="language">
        {% get_language_info_list for LANGUAGES as languages %}
        {% for language in languages %}
            <option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
        {% endfor %}
    </select>
    <input type="submit" value="Go" />
</form>

Поэтому, когда я захожу на веб-сайт, я получаю 127.0.0.1:8000/en/ в URL, это правильно, потому что englisch является языком по умолчанию, когда я затем изменяю его с помощью формы на NL, он перенаправляет на 127.0.0.1:8000 / nl /, но текст, который я перевел, не изменился. Я также уверен, что этот язык - NL, потому что когда я отображаю {{LANGUAGE_CODE}}, он говорит NL.

Кто-нибудь знает, почему это не меняется?

Спасибо m00p

PROBLEM SOLVED

В процессе добавления вещей, которые я забыл, чтобы они работали, я перезапустил сервер развертывания, ноdidn't cleared the cache of my browser он все еще использовал старые страницы, поэтому, когда я очистил данные своего браузера в Chrome, снова посетил страницу и изменил язык, он правильно ее перевел. В любом случае, спасибо за предложения!

Ответы на вопрос(3)

Ваш ответ на вопрос