it-tools/src/plugins/i18n.plugin.ts
2024-04-21 02:55:19 +08:00

32 lines
710 B
TypeScript

import messages from '@intlify/unplugin-vue-i18n/messages';
import { get } from '@vueuse/core';
import type { Plugin } from 'vue';
import { createI18n } from 'vue-i18n';
// const i18n = createI18n({
// legacy: false,
// locale: 'en',
// messages,
// });
export const i18nPlugin: Plugin = {
install: (app) => {
const i18n = createI18n({
legacy: false,
locale: 'zh',
messages,
});
app.use(i18n);
},
};
export const i18n = createI18n({
legacy: false,
locale: 'zh',
messages,
});
export const translate = function (localeKey: string) {
const hasKey = i18n.global.te(localeKey, get(i18n.global.locale));
return hasKey ? i18n.global.t(localeKey) : localeKey;
};