From 32cba4f2a168cdee9f5ceb66ef5472872ded9972 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 14 Mar 2023 14:32:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/mixins.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/authentication/mixins.py b/apps/authentication/mixins.py index c1cd3dbab..ab5d1d53d 100644 --- a/apps/authentication/mixins.py +++ b/apps/authentication/mixins.py @@ -519,8 +519,14 @@ class AuthMixin(CommonMixin, AuthPreCheckMixin, AuthACLMixin, MFAMixin, AuthPost def set_browser_default_language_if_need(self, response): # en, ja, zh-CN,zh;q=0.9 - default_lang = self.request.headers.get('Accept-Language') - if 'zh' in default_lang: - default_lang = 'zh' - lang = response.cookies.get(settings.LANGUAGE_COOKIE_NAME) or default_lang + browser_lang = self.request.headers.get('Accept-Language', '') + # 浏览器首选语言 + if browser_lang.startswith('en'): + browser_lang = 'en' + elif browser_lang.startswith('ja'): + browser_lang = 'ja' + else: + browser_lang = 'zh' + request_lang = self.request.LANGUAGE_CODE + lang = request_lang or browser_lang response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang)