34 lines
709 B
TypeScript
Raw Normal View History

2023-04-02 01:01:56 +08:00
// 自定义国际化配置
import { createI18n } from 'vue-i18n';
import { LanguageEnum } from '@/enums/LanguageEnum';
import zh_CN from '@/lang/zh_CN.json';
import en_US from '@/lang/en_US.json';
2023-04-02 01:01:56 +08:00
/**
*
2023-04-02 01:01:56 +08:00
* @returns zh-cn|en ...
*/
export const getLanguage = (): LanguageEnum => {
const language = useStorage<LanguageEnum>('language', LanguageEnum.zh_CN);
if (language.value) {
return language.value;
2023-04-03 00:05:09 +08:00
}
return LanguageEnum.zh_CN;
2023-04-02 01:01:56 +08:00
};
const i18n = createI18n({
globalInjection: true,
2024-01-11 15:26:37 +08:00
allowComposition: true,
2023-04-03 00:05:09 +08:00
legacy: false,
locale: getLanguage(),
messages: {
zh_CN: zh_CN,
en_US: en_US
}
2023-04-02 01:01:56 +08:00
});
export default i18n;
export type LanguageType = typeof zh_CN;