Skip to content

Commit b144aec

Browse files
authored
fix: Update the value of locale (#97)
1 parent 17097a4 commit b144aec

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/utils/i18n.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,33 @@ import zhCN from 'vant/es/locale/lang/zh-CN'
99
import messages from '@intlify/unplugin-vue-i18n/messages'
1010
import { Locale, type PickerColumn } from 'vant'
1111

12-
export const i18n = createI18n({
13-
locale: localStorage.getItem('language') || navigator.language,
14-
fallbackLocale: 'zhCN',
15-
messages,
16-
})
12+
/** 默认语言包名称 */
13+
const FALLBACK_LOCALE = 'zh-CN'
1714

1815
/** 多语言 picker columns */
1916
export const languageColumns: PickerColumn = [
2017
{ text: '简体中文', value: 'zh-CN' },
2118
{ text: 'English', value: 'en-US' },
2219
]
2320

21+
/** 获取当前语言对应的语言包名称 */
22+
function getI18nLocale() {
23+
const locale = localStorage.getItem('language') || navigator.language
24+
for (const l of languageColumns) {
25+
const value = l.value as string
26+
if (value === locale)
27+
return locale // 存在当前语言的语言包
28+
else if (value.indexOf(locale) === 0)
29+
return value // 存在当前语言的任意地区的语言包
30+
}
31+
return FALLBACK_LOCALE // 使用默认语言包
32+
}
33+
34+
export const i18n = createI18n({
35+
locale: getI18nLocale(),
36+
messages,
37+
})
38+
2439
/** 当前语言 */
2540
export const locale = computed({
2641
get() {

0 commit comments

Comments
 (0)