LANGUAGE_CODE = 'en'
# supported languages
LANGUAGES = (
('en', 'English'),
('ko', 'Korean'),
)
答案 0 :(得分:3)
Django已经完成了它自己的工作,你不需要做任何额外的事情。
LocaleMiddleware尝试通过以下算法确定用户的语言偏好:
首先,它在请求的URL中查找语言前缀。只有在root URLconf中使用i18n_patterns函数时才会执行此操作。有关语言前缀以及如何国际化URL模式的详细信息,请参阅国际化:URL模式。
如果失败,它会在当前用户的会话中查找LANGUAGE_SESSION_KEY密钥。
如果没有,它会查找一个cookie。
使用的Cookie名称由LANGUAGE_COOKIE_NAME设置设置。 (默认名称为django_language。)
如果失败,它会查看Accept-Language HTTP标头。此标头由您的浏览器发送,并按优先级顺序告诉服务器您喜欢哪种语言。 Django尝试标题中的每种语言,直到找到可用翻译的语言。
如果失败,则使用全局LANGUAGE_CODE设置。
答案 1 :(得分:1)