useLocaleStore.ts 887 字节
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
    }
})