使用Django检测用户语言

时间:2014-10-10 05:46:27

标签: django django-templates django-views django-sessions

我正在寻找一种检测用户语言的方法。我将默认语言设置为' en_US',并将我的网站翻译为' pt_BR'。如何切换语言并显示' pt_BR'适用于巴西人的版本和' en_US'对于世界其他地方?

我阅读了这些文档链接:

https://docs.djangoproject.com/en/dev/topics/http/sessions/

https://docs.djangoproject.com/en/1.7/topics/i18n/translation/

我相信也许我不得不从用户Cookie或浏览器偏好中获取此信息,但我该怎么办呢?

此外,我如何测试不同的语言?我必须更改我的浏览器语言? OS语言?使用代理吗?

2 个答案:

答案 0 :(得分:2)

每个用户的HTTP请求都包含在标头参数Accept-Language中。

示例是:

user_langs = request.META.get('HTTP_ACCEPT_LANGUAGE', ['en-US', ])

答案 1 :(得分:1)

尝试将navigator.language添加到您的帖子数据中并在您的视图中解析它。

  
    

http://www.w3schools.com/jsref/prop_nav_language.asp