32 lines
591 B
TypeScript
32 lines
591 B
TypeScript
import type { App } from "vue";
|
|
import { createI18n } from "vue-i18n";
|
|
import { useAppStoreHook } from "@/store/modules/app.store";
|
|
// 本地语言包
|
|
import enLocale from "./package/en";
|
|
import zhCnLocale from "./package/zh-cn";
|
|
|
|
const appStore = useAppStoreHook();
|
|
|
|
const messages = {
|
|
"zh-cn": {
|
|
...zhCnLocale,
|
|
},
|
|
en: {
|
|
...enLocale,
|
|
},
|
|
};
|
|
|
|
const i18n = createI18n({
|
|
legacy: false,
|
|
locale: appStore.language,
|
|
messages: messages,
|
|
globalInjection: true,
|
|
});
|
|
|
|
// 全局注册 i18n
|
|
export function setupI18n(app: App<Element>) {
|
|
app.use(i18n);
|
|
}
|
|
|
|
export default i18n;
|