获取客户端的两个字母的语言代码

2024-05-12 18:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是一个很常见的问题,但经过大量的谷歌搜索,我仍然没有找到一个有用的答案。在

我的网站只有英语,但我喜欢保存用户的会话日志,我需要得到客户的语言。我已经读过,我可以从HTTP_ACCEPT_LANGUAGE报头获取语言信息,这是一个逗号分隔的客户语言列表,按优先级降序排列,即第一种语言是主语言。在

我想用Django得到客户语言的两个字母的语言代码。e、 g

en-gb, en-us                       en
fr-fr, en-au                       fr
zh, en-us; q=0.8, en; q=0.6       zh

我该怎么做?我需要自己解析头还是Django有内置的语言列表?在

有没有所有语言代码的详细清单?在

谢谢。在


Tags: django答案代码用户语言http列表客户
1条回答
网友
1楼 · 发布于 2024-05-12 18:21:13

{cd1>使用^:

from django.utils import translation

def view(request):

    client_lang = translation.get_language_from_request(request)

顺便问一下你为什么要这个?您是否检查了django对i18n and l10n的支持,因为 如果启用了LocaleMiddleware,那么也可以使用request.LANGUAGE_CODE来获取语言。在

相关问题 更多 >