2023-04-02 01:01:56 +08:00
|
|
|
// 自定义国际化配置
|
|
|
|
import { createI18n } from 'vue-i18n';
|
|
|
|
|
2023-12-13 10:35:55 +00:00
|
|
|
import { LanguageEnum } from '@/enums/LanguageEnum';
|
2025-01-20 10:16:27 +08:00
|
|
|
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-19 14:41:15 +08:00
|
|
|
* 获取当前语言
|
2023-04-02 01:01:56 +08:00
|
|
|
* @returns zh-cn|en ...
|
|
|
|
*/
|
2023-12-13 10:35:55 +00:00
|
|
|
export const getLanguage = (): LanguageEnum => {
|
|
|
|
const language = useStorage<LanguageEnum>('language', LanguageEnum.zh_CN);
|
2023-04-19 14:41:15 +08:00
|
|
|
if (language.value) {
|
|
|
|
return language.value;
|
2023-04-03 00:05:09 +08:00
|
|
|
}
|
2023-12-13 10:35:55 +00:00
|
|
|
return LanguageEnum.zh_CN;
|
2023-04-02 01:01:56 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
const i18n = createI18n({
|
2024-01-11 14:27:46 +08:00
|
|
|
globalInjection: true,
|
2024-01-11 15:26:37 +08:00
|
|
|
allowComposition: true,
|
2023-04-03 00:05:09 +08:00
|
|
|
legacy: false,
|
|
|
|
locale: getLanguage(),
|
2024-11-28 11:42:08 +08:00
|
|
|
messages: {
|
|
|
|
zh_CN: zh_CN,
|
|
|
|
en_US: en_US
|
|
|
|
}
|
2023-04-02 01:01:56 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
export default i18n;
|
2024-11-28 21:07:23 +08:00
|
|
|
|
|
|
|
export type LanguageType = typeof zh_CN;
|