# 国际化 :::tip 说明 当前项目仅支持中文界面,ElementPlus 使用中文语言包(`zh-cn`),所有界面文本直接硬编码在组件中。如需扩展多语言支持,可基于 vue-i18n 实现。 ::: ## 当前状态 项目当前为中文单语言版本: - ElementPlus 全局配置中文语言包:`app.use(ElementPlus, { locale: zhCn })` - 所有界面文本直接硬编码在组件中:`添加岗位` - 后端返回的 `msg` 字段为中文:`"操作成功"`、`"岗位名称不能重复"` ```vue ``` ## 扩展方案 如需支持多语言,推荐使用 vue-i18n: ### 安装依赖 ```bash pnpm add vue-i18n ``` ### 配置 i18n ```typescript // src/i18n/index.ts import { createI18n } from 'vue-i18n'; import zhCN from './locales/zh-CN.json'; import enUS from './locales/en-US.json'; const i18n = createI18n({ legacy: false, locale: localStorage.getItem('lang') || 'zh-CN', fallbackLocale: 'zh-CN', messages: { 'zh-CN': zhCN, 'en-US': enUS }, }); export default i18n; ``` ### 语言文件 ```json // src/i18n/locales/zh-CN.json { "common": { "add": "新增", "edit": "编辑", "delete": "删除", "search": "搜索", "reset": "重置", "confirm": "确定", "cancel": "取消" }, "position": { "name": "岗位名称", "status": "状态", "sort": "排序" } } ``` ### 组件中使用 ```vue ``` ### ElementPlus 国际化 ```typescript import zhCn from 'element-plus/es/locale/lang/zh-cn'; import en from 'element-plus/es/locale/lang/en'; app.use(ElementPlus, { locale: zhCn }); ``` :::tip 温馨提示 国际化改造工作量较大,建议在项目初期规划。如仅需中文,当前硬编码方式即可满足需求。改造时需要同时处理前端文本和后端返回的 `msg` 字段。 ::: ## 总结 当前项目为中文单语言版本,ElementPlus 使用中文语言包。如需扩展多语言支持,可基于 vue-i18n 实现前端国际化,配合 ElementPlus 内置语言包和后端消息 code 实现全链路多语言。