codegeex 不能替代 i18n 插件,但可辅助生成初始化代码、修复 json 模块报错、补全键名、调试翻译失效问题;需手动复制结果并校验路径与配置。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在 VSCode 中用 CodeGeeX 加速多语言国际化配置,必须明确一点:CodeGeeX 本身【不提供 i18n 文件管理、键提取或翻译同步功能】,它不能替代 i18n-ally 或 du-i18n 这类专用插件。但它可作为智能辅助引擎,在关键环节生成可运行代码片段、补全配置逻辑、解释错误堆栈,大幅缩短手动编码和调试时间。
确认 CodeGeeX 是否已就绪
打开 VSCode → 左侧扩展栏搜索「CodeGeeX」→ 确认已安装并启用(图标为蓝白齿轮)→ 登录或绑定账户(部分模型需 API Key)→ 在任意 .ts 或 .js 文件中右键,检查是否出现「Ask CodeGeeX」选项。
若未显示该菜单项,请先重启 VSCode 并确保工作区已打开项目根目录(即包含 package.json 的文件夹),否则插件无法识别上下文环境。
用 CodeGeeX 生成 vue-i18n 初始化代码
在项目 src 目录下新建文件 i18n/index.ts,光标置于空白处,右键 → 「Ask CodeGeeX」→ 输入提示词:
“生成 Vue 3 + TypeScript 项目中 vue-i18n@10 的标准初始化代码,要求:使用 Composition API 模式、locale 默认为 zh-CN、fallbackLocale 设为 en、messages 从 src/locales/en.json 和 src/locales/zh-CN.json 动态导入”
CodeGeeX 将返回完整可运行的 createI18n 实例代码。复制粘贴后,注意检查路径是否与你实际创建的 locales 文件夹位置一致——【若 locales 不在 src 下,必须手动修改 import 路径,否则启动报错】。
让 CodeGeeX 帮你修复常见报错
当你在 main.ts 中挂载 i18n 实例后运行报错 “Cannot find module './locales/en.json'”,不要立即翻文档:
选中报错行 → 右键 → 「Ask CodeGeeX」→ 输入:“VSCode 报错 Cannot find module './locales/en.json',但文件确实存在,tsconfig.json 应如何配置才能正确识别 JSON 模块?”
它会立刻指出需在 tsconfig.json 的 compilerOptions 中添加:
"resolveJsonModule": true,
"esModuleInterop": true
这两项缺一不可,否则 TypeScript 编译器拒绝加载 JSON 作为模块。
用 CodeGeeX 补全缺失的翻译键名
方法一:基于模板生成键结构
在组件中写到 $t('user.profile.name') 时不确定是否已定义,可在 locales/zh-CN.json 中光标定位到末尾 → 右键 → 「Ask CodeGeeX」→ 输入:“根据 key 'user.profile.name',为 zh-CN.json、en.json 同时生成嵌套结构,中文值为‘用户资料名称’,英文值为‘User Profile Name’”
方法二:批量推导键名语义
若已有大量硬编码中文如“删除订单”“确认支付”“暂无数据”,可将它们粘贴进新临时文件 → 光标选中全部 → 右键 → 「Ask CodeGeeX」→ 输入:“将以下中文文案转为符合 vue-i18n 命名规范的小驼峰风格键名,避免空格和标点,保持语义清晰:删除订单、确认支付、暂无数据” → 得到 deleteOrder、confirmPayment、noData
注意:CodeGeeX 不会自动写入 JSON 文件,所有结果需你手动复制粘贴到对应语言文件中。
用 CodeGeeX 辅助调试翻译未生效问题
第一步:确认当前 locale 是否被正确设置
在浏览器控制台执行 console.log(i18n.locale.value),若输出 undefined 或空字符串,说明实例未正确挂载或 locale 未初始化。
第二步:向 CodeGeeX 提问
复制当前 main.ts 中的 createApp 链式调用代码 → 右键 → 「Ask CodeGeeX」→ 输入:“Vue 3 中 use(i18n) 后 $t 在 setup() 中可用,但在 template 中 {{ $t('xxx') }} 不生效,可能原因有哪些?请逐条列出并附验证方式”
它会返回包括:i18n 实例未传入 app.use()、模板中使用了旧版 $t 而非 t()、lang 属性未在 html 标签声明等 5 条具体排查路径,每条都带 console 检查命令。











