Django默认语言不起作用

时间:2015-06-10 18:33:28

标签: python django

我有一个django应用程序支持两种语言英语和阿拉伯语我需要将默认语言更改为阿拉伯语

LANGUAGE_CODE = 'ar'
LANGUAGES = (
    (u'ar', _('Arabic')),
    (u'en', _('English')),
)
USE_I18N = True
USE_L10N = True
USE_TZ = False

但是当我打开127.0.0.1:8000时,它会重定向到英语127.0.0.1:8000/en而不是阿拉伯语

url.py包含

urlpatterns = patterns(
'',
url(r'^i18n/', include('django.conf.urls.i18n')),
)

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

尝试检查您的MIDDLEWARE_CLASSES是否有django.middleware.locale.LocaleMiddleware。有关实施的更多信息,请参见此网址:https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#how-django-discovers-language-preference

我希望这很有用。

来源:https://docs.djangoproject.com/en/1.8/topics/i18n/translation/

答案 1 :(得分:0)

你的网址对我来说错了。 django.conf.urls.i18n定义了set_language urlpatterns,您可能希望将其正常包含并仅将i18n_patterns应用于您的网址,例如:

urlpatterns = patterns(
    '',
    url(r'^i18n/', include('django.conf.urls.i18n')),
)

urlpatterns += i18n_patterns(
    url(r'', include('your.urls')),
)

答案 2 :(得分:0)

您应该仅编辑一件事以使其正常工作: LANGUAGE_CODE ='ar-eg'