저는 Django 1.9/python3.5 응용 프로그램에서 일하고 있으며 Django의 번역 유틸리티를 사용하려고합니다. 스페인어로 된 번역을위한 'es'디렉토리가있는 로케일 디렉토리가 있는데,이 디렉토리는 .po 파일을 생성 한 것입니다. 몇 개의 번역본을 테스트 해보기 위해이 디렉토리를 설정했습니다.Django 번역이 작동하지 않습니다.
msgid "Sign In"
msgstr "Registrarse"
msgid "Create an Account"
msgstr "Crea una cuenta"
는 내 설정 파일이 제대로 나는 단어가 로그인 한 계정을 생성하기위한 장고 '트랜스'템플릿 태그를 사용하여 내 템플릿에서뿐만 아니라
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.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'webapp.middleware.LanguageSwitchMiddleware',
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'APP_DIRS': True,
'DIRS': [os.path.join(BASE_DIR, 'templates'), ],
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'webapp.context_processors.detail_context',
'django.template.context_processors.i18n'
],
},
},
]
# Internationalization
# https://docs.djangoproject.com/en/dev/topics/i18n/
LOCALE_PATHS = (
os.path.join(PROJECT_ROOT, 'locale/'),
)
from django.utils.translation import ugettext_lazy as _
LANGUAGES = (
('en', _('English')), # first language is the default used by modeltranslations
('es', _('Spanish')),
)
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'America/Chicago'
USE_I18N = True
구성했습니다. 선택 상자는 테스트 한 애플리케이션의 Content-Language http 응답 헤더를 편집하며 성공적으로 수행합니다. 그러나 헤더가 서명하고 작성하고 계정을 스페인어로 번역하지 마십시오. 내가 누락 된 단계가 있습니까?
HTML ^^^ 라인은 수동으로 번역 파일을 작성하는 제안 그건
{% load i18n %}
<ul class="list-inline-xxs">
{% if customer %}
<li>
Welcome,
<a href='{% url "customer:dashboard" %}'>
{{ customer.first_name }}
</a>
</li>
<li>
<a href='{% url "customer:logout" %}'>
{% trans 'Logout' %}
</a>
</li>
{% else %}
<li>
<a href='{% url "customer:login" %}'>
{% trans 'Sign In' %}
</a>
</li>
<li>
<a href='{% url "subscription:customer-subscribe" %}'>
{% trans 'Create an Account' %}
</a>
</li>
{% endif %}
</ul>
모두 괜찮아 보이는군요. webapp.middleware.LanguageSwitchMiddleware에서 무엇을 가지고 있습니까? –