Django语言国际化-我无法让翻译正常工作

Django语言国际化-我无法让翻译正常工作,django,internationalization,Django,Internationalization,我正试图弄清楚如何根据用户选择在Django中显示不同的语言。我不知道我错过了什么,所以我想知道是否有人能解释我错在哪里 这是我的url.py urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^i18n/', include('django.conf.urls.i18n')), ] urlpatterns += i18n_patterns( url(r'^', TemplateView.as_view(te

我正试图弄清楚如何根据用户选择在Django中显示不同的语言。我不知道我错过了什么,所以我想知道是否有人能解释我错在哪里

这是我的url.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^i18n/', include('django.conf.urls.i18n')),
]

urlpatterns += i18n_patterns(
    url(r'^', TemplateView.as_view(template_name="lang_test/index.html"))
)
settings.py中,我添加了:

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
]
from django.utils.translation import ugettext_lazy as _
LANGUAGES = (
    ('en', _('English')),
    ('fr', _('French')),
    ('el', _('Greek')),
)
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
USE_I18N = True

USE_L10N = True

USE_TZ = True
我跑了

manage.py makemessages -fr
manage.py makemessages -el
并且添加了我运行过的消息

manage.py compilemessages
然后我得到了这个简单的模板,我希望看到3种不同的语言显示出来,因为我已经设置了语言

{% load i18n %}

<html>
    <head>

    </head>
    <body>
        {{ LANGUAGE_CODE|language_name }}
        <h1>{% trans "Welcome to my website" %}</h1>

        {% with 'fr' as LANGUAGE_CODE %}
            {{ LANGUAGE_CODE|language_name }}
            <!-- Current language: {{ LANGUAGE_CODE }} -->
            <h1>{% trans "Welcome to my website" %}</h1>
        {% endwith %}

        {% with 'el' as LANGUAGE_CODE %}
            {{ LANGUAGE_CODE|language_name }}
            <!-- Current language: {{ LANGUAGE_CODE }} -->
            <h1>{% trans "Welcome to my website" %}</h1>
        {% endwith  %}

    </body>

</html>

The output is
English
Welcome to my website
French
Welcome to my website
Greek
Welcome to my website
{%loadi18n%}
{{语言代码{语言名称}
{%trans“欢迎访问我的网站”%}
{%以“fr”作为语言\u代码%}
{{语言代码{语言名称}
{%trans“欢迎访问我的网站”%}
{%endwith%}
{%以“el”作为语言\u代码%}
{{语言代码{语言名称}
{%trans“欢迎访问我的网站”%}
{%endwith%}
输出是
英语
欢迎来到我的网站
法语
欢迎来到我的网站
希腊人
欢迎来到我的网站
显然,这不是如何测试我是否正确设置了它。如何测试翻译是否正常工作?

参考,您可以使用
语言
模板标记:

{% language 'en' %}
     {% get_current_language as LANGUAGE_CODE %}
     <!-- Current language: {{ LANGUAGE_CODE }} -->
     <h1>{% trans "Welcome to my website" %}</h1>
{% endlanguage %}

{% language 'el' %}
     {% get_current_language as LANGUAGE_CODE %}
     <!-- Current language: {{ LANGUAGE_CODE }} -->
     <h1>{% trans "Welcome to my website" %}</h1>
{% endlanguage %}
{%language'en%}
{%get_当前语言为语言代码%}
{%trans“欢迎访问我的网站”%}
{%endlanguage%}
{%el语言'%}
{%get_当前语言为语言代码%}
{%trans“欢迎访问我的网站”%}
{%endlanguage%}