我在 django 上的 settings.py 中有这种语言:
LANGUAGE_CODE = 'es'
LANGUAGES = (
('en', 'English'),
('de', 'Deutsch'),
('es', 'Spanish'),
)
在我的 urls.py
urlpatterns = patterns('',
url(r'^$', home, name='home'),
url(r'^admin/', include(admin.site.urls), name="admin"),
)
casas_patterns = patterns('',
url(r'^$', totes_cases ,name="all_houses"),
url(r'^(?P<Propietat_id>\d+).html$', fitxa_casa, name='fitxa_casa'),
)
urlpatterns+=i18n_patterns('',
url(_(r'^propiedades/'), include(casas_patterns, namespace='casas')),
)
在我的模板中:
{% load i18n %}
{% get_available_languages as languages %}
{% trans "View this category in:" %}
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<a href="{% url 'casas:all_houses' %}">{{ lang_code }}</a>
{% endlanguage %}
{% endfor %}
它为我生成了这 3 个网址:
/zh/宣传/
/de/propiedades/
/es/宣传/
但唯一有效的是西班牙语(es/propiedades/),其他的则抛出这样的 404 错误。
Using the URLconf defined in inmoport.urls, Django tried these URL patterns, in this order:
^$ [name='home']
^hola.html$ [name='hola']
^admin/
^es/
你知道如何在 URL 的前缀上自动激活语言吗?非常感谢!