gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 02:49:41 26 4
gpt4 key购买 nike

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

我的网站只有英文版,但我喜欢保留用户 session 的日志,因此我需要了解客户的语言。我读到我可以从 HTTP_ACCEPT_LANGUAGE header 中获取语言信息,该 header 是按优先级降序排列的以逗号分隔的客户端语言列表,即第一个是主要语言。

我想在 Django 中获取客户端语言的两个字母的语言代码。例如

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

我该怎么做?我必须自己解析 header 还是 Django 有内置的语言列表?

是否有所有语言代码的详细列表?

谢谢。

最佳答案

使用translation.get_language_from_request:

from django.utils import translation

def view(request):

client_lang = translation.get_language_from_request(request)

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

关于python - 获取客户端的两个字母语言代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7092821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com