CodeBuddy 可通过启用 i18n 插件,并结合快捷键与提示词,自动提取代码中的中文字符串为国际化 key:既支持将单个字符串替换为 t 函数调用,也会同步生成 zh-CN / en-US 双语 JSON;同时还支持多行选中后按语义分组命名,或通过正则对整个文件进行扫描处理。

你的目标是让 CodeBuddy 自动把中文文案提取为国际化 key,并生成对应的多语言文件,而不是手动逐个查找、替换,或一行一行地改写代码,这样能更高效地完成项目国际化处理。
确认CodeBuddy已启用国际化插件
打开 CodeBuddy 设置 → 扩展 → 搜索“i18n” → 确认“CodeBuddy i18n Assistant”已处于启用状态。若插件未开启,所有国际化相关提示词都不会生效,【插件禁用状态下发送任何国际化提示词均无效】。
建议重启 CodeBuddy 窗口,确保国际化插件已经正确加载并生效。
在代码中选中中文字符串发起提取
在 JavaScript / TypeScript / React / Vue 文件中,先用鼠标选中一个中文字符串,例如“提交成功”。
按下快捷键 Ctrl+Shift+I(Windows/Linux)或 Cmd+Shift+I(macOS),打开 CodeBuddy 指令输入框。
输入提示词:“提取为国际化键,生成zh-CN和en-US双语key,保持原位置用t函数包裹” → 回车执行。
CodeBuddy 会自动将原始字符串替换为 t('common.submit_success'),随后在 locales/zh-CN.json 中补充 "common.submit_success": "提交成功",并同步写入 locales/en-US.json,对应翻译内容为 "common.submit_success": "Submit successful"。
批量处理多个字符串
方法一:多行选中后统一提取
按住 Alt(Windows/Linux)或 Option(macOS),使用鼠标纵向拖选多个中文字符串,例如“保存”“取消”“删除”,并确保每一行只包含一个待提取的字符串。
打开指令框后输入:“批量提取为国际化键,按语义分组到user、form、dialog三级命名空间,全部生成en-US和ja-JP翻译”。
CodeBuddy 会结合上下文自动完成分类。例如,“用户头像上传失败”可能会被归类到user.a vatar.upload_failed,“确认删除该条目?”则通常会被归类到dialog.delete.confirm。如果某个字符串缺少足够的语义上下文,系统会直接跳过,而不会为了凑齐分类强行放入不准确的命名空间。
方法二:基于正则的全文件扫描
无需提前选中文本,直接在指令框中输入:“扫描当前文件所有中文字符串,排除注释和变量名,提取为key,生成zh-CN/en-US双语JSON,key格式为文件名_行号_序号”。
例如,settings.ts 第 42 行中的“深色模式”会被转换为 settings_42_1,并写入对应的语言文件。这种方式适合用于快速兜底处理全部中文字符串,但生成的 key 可读性相对较弱,后续通常还需要人工进一步重命名和整理。
