2015-11-12 2 views
0

Я следил за docs.Django - интернационализация Javascript: перевод не отображается на сайте

./manage.py makemessages -d djangojs работает нормально.

./manage.py compilemessages созданы соответствующие .po файлы

Однако перевод не производится на месте.

urls.py

js_info_dict = { 
    'packages': ('market',), 
} 

urlpatterns = [url(r'^jsi18n/$', javascript_catalog, js_info_dict), ] 

urlpatterns += i18n_patterns(
    url(r'^$', HomePage.as_view(), name='home'), 
) 

settings.py

LOCALE_PATHS = (
    pjoin(BASE_DIR, '00', 'locale'), 
) 

# Middleware =================================================================== 
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', 
    'django.middleware.security.SecurityMiddleware', 
) 

# Internationalization ========================================================= 
LANGUAGE_CODE = 'en' 
TIME_ZONE = 'Europe/Paris' 
USE_I18N = True 
USE_L10N = True 
USE_TZ = True 
LANGUAGES = (
    ('en', gettext_noop('English')), 
    ('fr', gettext_noop('French')), 
) 

home.html (Скрипт успешно загружен)

<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script> 

ответ

0

Решение было предоставлено в this post, в котором говорится, что

Каталог javascript должен быть добавлен к шаблонам URL-адресов i18n, а не к нормальным шаблонам.

Поэтому urls.py должен быть изменен на:

js_info_dict = { 
    'packages': ('market',), 
} 

urlpatterns += i18n_patterns(
    url(r'^$', HomePage.as_view(), name='home'), 
    url(r'^jsi18n/$', javascript_catalog, js_info_dict), 
) 

Django documentation будет updated соответственно:

Мы должны добавить примечание в документации i18n_patterns с указанием: если используется весь переведенный контент в него также должны быть включены взгляды.

Смежные вопросы