前言
使用babel解析成AST,替换中文为指定的key之后,在还原。
采用prettier格式化代码。默认读取项目根目录的prettier配置文件(.prettierrc.js)。
一键扫描整个项目的中文替换成key,并生成指定的语言包翻译文件。
marketplace.visualstudio.com/items?itemN…
核心特性 ✨
- 🔍 智能检测:自动扫描项目中的中文文案
- 🔄 一键替换:将中文替换为规范的翻译键
- 📦 自动生成:直接生成各语言的翻译文件
- 🌐 实时预览:支持多语言实时切换显示
- 🛠 高度可配置:支持自定义翻译键格式、排除规则等
- 🎯 精准转换:基于 AST 解析,确保转换准确性
- 💅 代码美化:集成 Prettier,保持代码风格统一
使用教程
扫描中文
扫描当前文件的所有的中文,并替换成key,并生成 zh.json 文件。
批量扫描中文
弹出选择文件夹,扫描所选文件夹的所有的中文,并替换成key,并生成 zh.json 文件。
生成语言包
弹出输入框(默认en),根据 zh.json 生成指定语言包文件
切换语言
替换之后在有key的每一行后面会显示对应的中文, 点击切换语言会切换成对应的语言。
读取的是本地文件,比如刚才生成了 en.json 就可以切换en语言
强大的配置能力
插件提供了丰富的配置选项,满足不同项目的需求:
- 自定义国际化文件路径
- 自动导入 i18n 模块
- 自定义翻译函数调用方式
- 文件路径层级配置
- 排除特定文件和字符串
- 支持百度翻译 API 自动翻译
| 属性 | 描述 | 默认值 |
|---|---|---|
| i18nFilePath | 指定国际化文件的根目录。 | '/src/i18n' |
| autoImportI18n | 是否自动导入i18n模块。 | true |
| i18nImportPath | 自动导入i18n模块的路径。 | '@/i18n' |
| templateI18nCall | 在 Vue 模板中调用翻译函数的语法。 | '$t' |
| scriptI18nCall | 在 JavaScript 文件中调用翻译函数的语法。 | 'i18n.t' |
| keyFilePathLevel | 生成的语言包的键中文件路径的层级。 | 2 |
| excludedExtensions | 排除的文件后缀名 | [".svg",".png",".jpg",".jpeg",".gif",".bmp",".ico",".md",".txt",".json",".css",".scss",".less",".sass",".styl"] |
| excludedStrings | 排除的字符串 | ["宋体","黑体","楷体","仿宋","微软雅黑","华文","方正","苹方","思源","YYYY年MM月DD日"] |
| debug | 是否开启调试模式。 | false |
| baidu.appid | 百度翻译的应用ID。 | - |
| baidu.secretKey | 百度翻译的密钥。 | - |
配置示例(首次使用会在项目根目录生成配置)
{
"i18nFilePath": "/src/i18n",
"autoImportI18n": true,
"i18nImportPath": "@/i18n",
"templateI18nCall": "$t",
"scriptI18nCall": "i18n.t",
"keyFilePathLevel": 2,
"excludedExtensions": [
".svg",
".png",
".jpg",
".jpeg",
".gif",
".bmp",
".ico",
".md",
".txt",
".json",
".css",
".scss",
".less",
".sass",
".styl"
],
"excludedStrings": ["宋体", "黑体", "楷体", "仿宋", "微软雅黑", "华文", "方正", "苹方", "思源", "YYYY年MM月DD日"],
"debug": false,
"baidu": {
"appid": "",
"secretKey": ""
}
}
快速开始
- 在 VSCode 扩展商店搜索 "i18n-automatically" 并安装。(marketplace.visualstudio.com/items?itemN…
- 右键弹出菜单
- 选择 "扫描中文" 或 "批量扫描中文"
- 右键翻译
申请百度翻译
按照流程申请百度翻译api权限
然后点击开发者信息, api.fanyi.baidu.com/manage/deve…,复制appid和secretKey到配置文件中
提示:这里要选择高级版本。只要实名认证了,都可以高级版本,api没有那么多限制
结果对比
vue对比图:
点击链接查看完整对比图:www.diffchecker.com/WjmYT5g4/
jsx对比图:
点击链接查看完整对比图:www.diffchecker.com/bYgP5eUP/

ts对比图:www.diffchecker.com/IRWBVjHe/

js对比图:www.diffchecker.com/VyO3Zw6b/

tsx对比图:www.diffchecker.com/OaZLu99x/
未来规划 🚀
- 支持更多翻译 API(如 DeepL、Google Translate 等)
- 更多自定义配置选项
- 性能优化和功能增强
GitHub: github.com/wu529778790…