File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,21 +9,34 @@ import { useRouter } from 'vitepress'
99onMounted (() => {
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})
You can’t perform that action at this time.
0 commit comments