useLocaleStore.ts
887 字节
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import {defineStore} from "pinia";
import zhCN from 'ant-design-vue/es/locale/zh_CN';
import enGB from 'ant-design-vue/es/locale/en_GB';
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
import 'dayjs/locale/en-gb';
import {ref} from "vue";
enum LanguageEnum {
zhCN = 'zhCN',
enGB = 'enGB'
}
export const useLocaleStore = defineStore('locale', () => {
const locale = ref()
function changeLanguage(language: LanguageEnum = LanguageEnum.zhCN) {
switch (language) {
case LanguageEnum.enGB: {
locale.value = enGB
dayjs.locale('en-gb')
break
}
case LanguageEnum.zhCN: {
locale.value = zhCN
dayjs.locale('zh-cn');
break
}
}
}
changeLanguage(LanguageEnum.zhCN)
return {
locale
}
})