簡體   English   中英

Django-Javascript國際化:翻譯未在網站中呈現

[英]Django - Javascript internationalization: translation not rendered in site

我已經關注了文檔

./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>

此帖子提供了解決方案,其中指出:

javascript目錄應該添加到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文檔將相應更新

我們應該在i18n_patterns文檔中添加一條注釋,指出:如果使用了所有翻譯后的內容視圖,也必須將其放置在其中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM