fix:更新隐私协议语言问题

This commit is contained in:
吕新雨
2026-02-25 17:46:59 +08:00
parent 43e33eb991
commit 0ad21da246
4 changed files with 16 additions and 6 deletions

View File

@@ -90,13 +90,23 @@ def _resolve_lang(accept_language: Optional[str]) -> ResolvedLang:
if not accept_language:
return "en"
s = accept_language.lower()
# 目前只支持 EN / TC只要是中文或显式 tc都归到 tc
if "tc" in s:
# 按语言优先级顺序逐项解析,避免“只要包含 zh 就全判 tc”。
# 例如en-US,en;q=0.9,zh-CN;q=0.8 应命中 en而不是 tc。
items = [seg.strip().lower() for seg in accept_language.split(",") if seg.strip()]
for item in items:
lang_tag = item.split(";", 1)[0].strip()
if not lang_tag:
continue
if lang_tag == "tc":
return "tc"
if "zh" in s or "hant" in s or "tw" in s or "hk" in s or "mo" in s:
if lang_tag.startswith(("zh-hant", "zh-tw", "zh-hk", "zh-mo")):
return "tc"
if lang_tag.startswith("zh"):
return "tc"
if lang_tag.startswith("en"):
return "en"
return "en"

Binary file not shown.

Binary file not shown.

Binary file not shown.