我有一個我希望國際化的Django應用程序(在Google App Engine上)。如何判斷Django爲什麼忽略Accept-Language頭文件?
settings.py:
USE_I18N = True
LANGUAGE_CODE = 'en'
# Restrict supported languages (and JS media generation)
LANGUAGES = (
('en', 'English'),
('fr', 'French'),
)
MIDDLEWARE_CLASSES = (
'ragendja.middleware.ErrorMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
# i18n
'django.middleware.locale.LocaleMiddleware',
...
我已經生成的.po和的.mo文件我在現場/ FR/LC_MESSAGES應用程序(雖然不是在全球範圍內)。
我將我的瀏覽器的Accept-Language標題設置爲「fr」,Django忽略它。當我查看request.LANGUAGE_CODE時,它始終是「en」。
我可以告訴瀏覽器是正確的,因爲我訪問了一些其他i18n知道的網站,它會返回法語。
我如何找到Django認爲我的設置丟失了什麼?
我看到了this question它並沒有幫助我。
我在Google App Engine上使用應用程序引擎補丁1.0.2.2運行Django 1.0。
Django首先查找名爲'django_language'的cookie。您是否嘗試清除Cookie? – 2009-11-01 23:42:11