我试图根据用户选择来弄清楚如何获得不同的语言以显示在Django中。我不知道自己缺少什么,所以我想知道是否有人可以解释我哪里出了问题。
这是我的 urls.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
很显然,这不是测试我是否正确设置的方法。我该如何测试翻译是否正常?
答案 0 :(得分:1)
参考this,您可以使用//original list is called x
x = ['A', '1', '3', '6', 'B', '3', '5', 'C', '6', '7', '3']
finallist = []
newList = []
addtolist = False
for i in range (len(x)):
if x[i].isalpha():
if len(newList) != 0:
finallist.append(newList)
newList = []
newList.append(x[i])
finallist.append(newList)
print (finallist)
模板标签:
language