日期:2026年01月11日01时55分
摘要:修复在 /zh/ 页面语言下拉切换到 English 可能回落到根路径导致不跳转
【question】
http://localhost:8787/zh/ 中下拉英语点击后,页面没有跳转到英语页面
【try to solve】
语言下拉的链接在未传入 langAlternates 时会回落使用 withLangPath(code, '/')。当默认语言为 en 时,这会生成 /,而根路径可能会触发语言协商重定向回中文页面,表现为“点击 English 但没有跳转到英文”。
修复方式:在 scripts/site/components/header.mjs 中把语言切换的回退链接改为使用 withExplicitLangPath(code, '/'),确保即使默认语言也始终生成显式路径(如 /en/),从而稳定跳转到英文页面。
已重新运行 env SITE_LANGS=zh,en SITE_DEFAULT_LANG=en npm run build:site,并确认 /zh/ 页面包含 href="/en/" 的语言切换链接。
【执行操作】
- 修改:
scripts/site/components/header.mjs - 运行:
env SITE_LANGS=zh,en SITE_DEFAULT_LANG=en npm run build:site