Skip to content

Commit e07977a

Browse files
committed
fix(i18n): 修复 VitePress 文档默认语言为中文
统一文档首页语言检测逻辑与 Landing Page 一致: - 默认语言从英文改为中文 - 优先级:URL 参数 > localStorage > 浏览器语言 > 默认中文
1 parent e0b6d9f commit e07977a

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

docs/index.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,34 @@ import { useRouter } from 'vitepress'
99
onMounted(() => {
1010
const router = useRouter()
1111

12-
// 优先级:localStorage > URL 参数 > 浏览器语言
12+
// 优先级:URL 参数 > localStorage > 浏览器语言 > 默认中文
1313
// 与 Landing Page (src/lib/i18n.ts) 保持一致
1414
const stored = localStorage.getItem('preferred-lang')
1515
const params = new URLSearchParams(window.location.search)
1616
const urlLang = params.get('lang')
17+
const browserLang = navigator.language || navigator.userLanguage || ''
1718

18-
let targetLang = 'en'
19-
if (urlLang === 'zh' || stored === 'zh-CN' || stored === 'zh') {
19+
let targetLang = 'zh' // 默认中文
20+
21+
// 1. URL 参数(最高优先级)
22+
if (urlLang === 'zh') {
23+
targetLang = 'zh'
24+
} else if (urlLang === 'en') {
25+
targetLang = 'en'
26+
}
27+
// 2. localStorage(用户偏好)
28+
else if (stored === 'zh-CN' || stored === 'zh') {
29+
targetLang = 'zh'
30+
} else if (stored === 'en') {
31+
targetLang = 'en'
32+
}
33+
// 3. 浏览器语言
34+
else if (browserLang.startsWith('zh')) {
2035
targetLang = 'zh'
21-
} else if (urlLang === 'en' || stored === 'en') {
36+
} else if (/^en/i.test(browserLang)) {
2237
targetLang = 'en'
23-
} else {
24-
const browserLang = navigator.language || navigator.userLanguage || ''
25-
if (browserLang.startsWith('zh')) targetLang = 'zh'
2638
}
39+
// 4. 默认中文(已设置)
2740

2841
router.go(`/${targetLang}/`)
2942
})

0 commit comments

Comments
 (0)