我正在尝试本地化我的应用程序以实现国际化,但是一旦选择了一种语言,我就遇到了为视图开发 URL 的问题。
我在我的这些相关条目settings.py
...
USE_I18N = True
USE_L10N = True
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
from django.utils.translation import ugettext_lazy as _
LANGUAGES = (
('en', _('English')),
('es', _('Spanish')),
('zh', _('Chinese')),
)
...
而我的urls.py
长相是这样的……
# -*- coding: utf-8 -*-
from django.conf.urls import include, url, patterns
from django.contrib import admin
from django.conf import settings
from django.conf.urls.i18n import i18n_patterns
urlpatterns = patterns('',
url(r'^$', 'myApp.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
url(r'^downloads/$', 'myApp.views.downloads'),
# etc. etc.
)
urlpatterns += i18n_patterns('',
url(r'^$', 'myApp.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
url(r'^downloads/$', 'myApp.views.downloads'),
# etc. etc.
)
所以这在本地“有效”。我去localhost:8080/es/
看看我的西班牙语页面。但是,当我单击应用程序的按钮导航到该Downloads
页面时,我会转到localhost:8080/downloads
英文页面。如果我输入localhost:8080/es/downloads
,我会收到一个未找到的 URL 错误。
我怎样才能使它更自然地本地化和国际化?如果缺少任何信息,请告诉我。我会添加它。
我正在使用 Django 1.7.4。
谢谢,埃里普
编辑
从主页到下载,我有一些看起来像这样的 HTML...
<a class="navbar-brand" href="/"> {% trans "Home"%}</a>
<a class="navbar-brand" href="/downloads/"> {% trans "Downloads"%}</a>