当前位置: 首页 > ai >正文

一键 i18n 国际化神库!适配 Vue、React!

🎯i18n-auto-extractor

用 $at() 包一层,剩下的交给机器人

  • 安装即可跑,零配置开箱即用

  • VueReact、原生项目全部通吃

  • 内置谷歌翻译,支持 100+ 语言

  • 极小包体,运行时动态切换语言

使用 3 步走
npm i -D i18n-auto-extractor
npx i18n-auto-extractor   # 生成配置文件
// 代码里包一层即可
const title = $at('欢迎来到我的网站')

构建后会自动生成:

locales/
├─ zh.json   // 原中文
├─ en.json   // 自动翻译
├─ fr.json   // ...

🎯auto-i18n-translation-plugins

连 $t() 都不用写,源码中文自动翻译

  • 完全零侵入,Babel 扫描无需改代码

  • Vite / Webpack / Rollup 插件形态全覆盖

  • Google有道百度翻译源任意切换

  • 增量构建,只翻译新增文案省流量

npm i -D vite-auto-i18n-plugin@^1.0.23
使用示例(Vite)
npm i -D vite-auto-i18n-plugin@^1.0.23
// vite.config.ts
import viteAutoI18n from 'vite-auto-i18n-plugin'export default defineConfig({plugins: [vue(),viteAutoI18n({targetLangList: ['en', 'ja', 'ko'],translator: new YoudaoTranslator({ appId: 'xxx', appKey: 'xxx' })})]
})

构建完成后自动生成 lang/index.json,直接引入即可使用。

🎯i18n-cli

命令行一把梭,老项目 5 分钟上线多语言

  • CLI 一键扫描并替换中文为 t('xxx')

  • Excel 导入导出,翻译团队协作零门槛

  • 支持百度谷歌有道多翻译源

  • 增量模式仅处理新增文案,避免重复劳动

使用 2 步走
npm i -g @ifreeovo/i18n-extract-cli
it --locales en,ja        # 全量翻译
it --incremental          # 仅增量

产物示例:

// locales/zh-CN.json
{ "a1b2c3": "提交订单" }// locales/en.json
{ "a1b2c3": "Submit Order" }

🎯 场景速选指南

场景

推荐工具

理由

新项目,想持续维护

i18n-auto-extractor

有侵入,但长期可维护

老项目 2 天上线英文版

auto-i18n-translation-plugins

完全不改动源码

需要产品/翻译团队介入

i18n-cli

CLI + Excel 协作最顺畅

🏁 总结

  • 不想写 $t() → 选 auto-i18n-translation-plugins

  • 愿意包一层 $at() 换长期省心 → 选 i18n-auto-extractor

  • 命令行一把梭 + Excel 协作 → 选 i18n-cli

三款都是 MIT 开源,按场景挑一把梭,国际化再也不是体力活

Github 地址

  • i18n-auto-extractorhttps://github.com/qianyuanjia/i18n-auto-extractor

  • auto-i18n-translation-pluginshttps://github.com/auto-i18n/auto-i18n-translation-plugins

  • i18n-clihttps://github.com/IFreeOvO/i18n-cli

http://www.xdnf.cn/news/19751.html

相关文章:

  • ElasticSearch倒排索引原理
  • 02、连接服务器的几种方式
  • 人工智能机器学习入门——线性回归
  • 高光谱成像在文物考古和字画检测中的应用
  • 普通人如何用 AI 提效?5 个低门槛工具 + 3 类场景案例,让 AI 成为日常助手
  • VMWare上搭建分布式Hadoop集群
  • 不只会修图!谷歌发布官方指南,教你用 Nano Banana 玩转文生图
  • pip的缓存
  • 【STL】C++ 开发者必学字符类详解析:std::string
  • [论文阅读] 人工智能 + 软件工程 | ReCode:解决LLM代码修复“贵又慢”!细粒度检索+真实基准让修复准确率飙升
  • 【序列晋升】27 Spring Cloud Sleuth给分布式系统装上透视镜
  • 彩笔运维勇闯机器学习--逻辑回归
  • JavaScript手录进阶01-跨域问题
  • Diamond基础3:在线逻辑分析仪Reveal的使用
  • 用AI做旅游攻略,真能比人肉整理靠谱?
  • iOS 上架 uni-app 流程全解析,从打包到发布的完整实践
  • LabVIEW软件全面解析:图形化编程的工业级应用指南
  • RL 大模型逆袭!搞定真实软件工程任务,成功率从 20% 飙到 39%,无需教师模型蒸馏
  • 如何将华为手机数据转移到OPPO手机
  • 2004-2023年各省生活垃圾无害化处理率数据(无缺失)
  • 07、上传jar包到 Linux 并启动项目
  • 9月3日星期三今日早报简报微语报早读
  • 深入解析Java Spliterator(Stream延迟、并行计算核心)
  • TensorFlow的Yes/No 关键词识别模型训练
  • LVGL9.3 vscode 模拟环境搭建
  • 多层环境室内定位系统综述总结
  • 如何获取easy-ui的表格的分页大小
  • VRRP协议
  • Deformable 3D Gaussians:把动态场景装进“可变形的静态世界”
  • 技术重构人力管理 —— 打造人力资源流程自动化、智能化专业服务方案