Django语言国际化-我无法让翻译正常工作
我正试图弄清楚如何根据用户选择在Django中显示不同的语言。我不知道我错过了什么,所以我想知道是否有人能解释我错在哪里 这是我的url.pyDjango语言国际化-我无法让翻译正常工作,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
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%}