只需一个快捷键,补全项目所有缺失翻译

前言:一个常见的繁琐场景

在进行前端国际化开发时,我们经常遇到这种情况:已经写好了大量的 t('some.key'),也在 zh-CN.json 里定义了所有中文词条,但项目需要支持英文、日文等其他语言。

于是,你打开了 en-US.jsonja-JP.json 文件,发现里面密密麻麻全是缺失的翻译。手动复制 key,再打开翻译网站,一个一个翻译粘贴回去?这个过程极其枯燥且容易出错。

今天分享一个自研 VSCode 插件------ i18n Mage ,它的一键补全缺失翻译功能,能让你仅通过一个快捷键解决上述所有问题。

第一步:安装与基础配置

  1. 安装插件 :在 VSCode 扩展商店中搜索 i18n Mage 并安装。

  2. 打开面板:安装后,VSCode 左侧活动栏会多出一个"巫师帽"🧙 图标,点击即可打开插件主面板。

  3. 识别项目 :插件通常会自动识别项目下的 localeslangi18n 等语言目录。如果未识别,在插件面板点击"选择翻译文件目录"进行设置即可。

第二步:如何查看项目的翻译缺漏情况?

在 i18n Mage 的面板上方,有一个 "同步情况" 区域。这里会清晰直观地展示你项目的翻译健康状况:

操作场景:当你开发完新功能,或者刚为项目新增了一种语言时,只需看一眼这个区域,就能立刻知道哪些语言的翻译还没完成,缺了多少条,一目了然。

第三步:核心操作:一键补全所有缺失翻译

这是最体现效率的一步。当你看到那些缺失的翻译时,无需焦虑。

  1. 调用修复命令:在插件面板点击顶部修复按钮,或直接按下对应快捷键 Ctrl + Alt + F。

  2. 等待魔法发生 :插件会自动扫描所有缺失的 key,并批量调用翻译 API,将翻译结果自动、准确地写入到对应的语言文件中。你只需要等待一个进度条完成即可。

第四步:如何配置翻译服务与优先级?

i18n Mage 支持多家翻译服务,并且可以设置优先级,非常灵活。

  1. 打开设置 :在 VSCode 中,按下 Ctrl + , 打开设置,搜索 i18n Mage

  2. 配置密钥:找到"翻译服务"相关设置,填入你喜欢的翻译平台的密钥。

    • 百度翻译 :需要 baiduApiIdbaiduSecretKey(百度翻译开放平台提供,有免费额度)。
    • 腾讯翻译 :需要 tencentSecretIdtencentSecretKey(腾讯云控制台获取,有免费额度)。
    • DeepSeek :需要 deepseekApiKey
    • 谷歌翻译:无需配置,但需要网络环境支持。
  3. 设置优先级 :找到 Translate API Priority 设置项,用一个数组定义调用顺序。例如 ["baidu", "tencent", "google"] 表示优先使用百度翻译,如果失败则尝试腾讯翻译,最后尝试谷歌翻译。

json 复制代码
// 这是在你的 VSCode settings.json 中的配置示例
{
  "i18n-mage.translationServices.baiduApiId": "你的百度APP_ID",
  "i18n-mage.translationServices.baiduSecretKey": "你的百度密钥",
  "i18n-mage.translationServices.translateApiPriority": [
    "baidu", // 优先级1:百度
    "tencent", // 优先级2:腾讯
    "google"  // 优先级3:谷歌
  ]
}

可能遇到的问题与解决方案

  • Q:翻译结果不满意怎么办?

    • A: 插件在执行批量翻译前,通常会提供一个预览窗口。你可以在这个窗口里检查和编辑自动生成的翻译结果,确认无误后再应用。这是一个很好的校验步骤。
  • Q:插件没识别我的语言文件怎么办?

    • A: 确保你的语言文件是 .json, .js, .ts 等标准格式。然后尝试在插件面板手动设置目录路径。

总结

i18n Mage 的这个"一键补全"功能,将我从最枯燥的翻译填充工作中彻底解放了出来。 它的流程非常清晰:

  1. :通过面板可视化地发现缺漏。
  2. :右键选择"翻译缺失词条"。
  3. :等待插件自动完成所有工作。

整个过程几乎不需要思考,极大地减少了上下文切换,保证了翻译的效率和准确性。如果你也在为手动补充翻译而烦恼,强烈建议试试这个插件,这个功能 alone 就值回"票价"了。

插件名称:i18n Mage
安装方式:在 VSCode 扩展商店中搜索即可。

大家使用上遇到了什么问题,也欢迎在评论区分享交流。

相关推荐
RoyLin7 分钟前
TypeScript设计模式:策略模式
前端·后端·typescript
brzhang17 分钟前
为什么说低代码谎言的破灭,是AI原生开发的起点?
前端·后端·架构
小桥风满袖1 小时前
极简三分钟ES6 - ES9中字符串扩展
前端·javascript
小Wang1 小时前
npm私有库创建(docker+verdaccio)
前端·docker·npm
用户73087011793081 小时前
Vue中集成文字转语音:使用Web Speech API实现功能
前端
李重楼1 小时前
前端性能优化之 HTTP/2 多路复用
前端·面试
yanessa_yu1 小时前
全屏滚动网站PC端自适应方案
前端
RoyLin2 小时前
TypeScript设计模式:桥接模式
前端·后端·typescript
火星开发者2 小时前
Vue中实现Word、Excel、PDF预览的详细步骤
前端
brzhang2 小时前
干翻 Docker?WebAssembly 3.0 的野心,远不止浏览器,来一起看看吧
前端·后端·架构