import { createI18n } from 'vue-i18n' import type { App } from 'vue' import zhCN from './zh-CN' import en from './en' /** * 国际化 * * 注意:**菜单标题来自后端**(get-permission-info 下发的中文名),不走 i18n; * 这里只负责界面骨架文案(登录页、布局、按钮等)。多语言需求增长后可把后端菜单 * 也接进来(菜单表加 i18n key)。 */ export const i18n = createI18n({ legacy: false, globalInjection: true, locale: 'zh-CN', fallbackLocale: 'zh-CN', messages: { 'zh-CN': zhCN, en } }) export function setupI18n(app: App) { app.use(i18n) } export function setLocale(locale: 'zh-CN' | 'en') { i18n.global.locale.value = locale document.documentElement.lang = locale } export default i18n