用Django检测用户语言

用Django检测用户语言,django,django-templates,django-views,django-sessions,Django,Django Templates,Django Views,Django Sessions,我正在寻找一种检测用户语言的方法。我将我的默认语言设置为“en_US”,并将我的网站翻译为“pt_BR”。我怎样才能转换语言,向巴西人展示“pt_BR”版本,向世界其他地方展示“en_US” 我阅读了以下文档链接: 我相信也许我必须从用户cookie或浏览器首选项中获取这些信息,但我如何才能做到这一点 此外,我如何测试不同的语言?我必须更改浏览器语言吗?操作系统语言?使用代理?尝试将navigator.language添加到post数据中,并在视图中解析它 每个用户的HTTP请求都包含在头

我正在寻找一种检测用户语言的方法。我将我的默认语言设置为“en_US”,并将我的网站翻译为“pt_BR”。我怎样才能转换语言,向巴西人展示“pt_BR”版本,向世界其他地方展示“en_US”

我阅读了以下文档链接:

我相信也许我必须从用户cookie或浏览器首选项中获取这些信息,但我如何才能做到这一点


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

尝试将navigator.language添加到post数据中,并在视图中解析它


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

例如:

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

是否有中间件或设置选项可以自动将此头应用于响应语言?假设我的答案已过时。Django引入了
LocaleMiddleware
,它可以动态地确定用户的正确语言。请注意,始终存在一些边缘情况。有关更多信息,请参阅和