愿景

September 6, 2025 · View on GitHub

开箱即用的轻量级 JavaScript 国际化自动翻译解决方案

English | 简体中文

npm-version npm-download

github-stars last-commit github-issues codecov

demo
目录

愿景
特性
Live Demo
原理
帮助文档
License

愿景

让国际化变得轻松且愉快😄💪🏻

特性

  • 轻量bundlesize
  • 简单:简单配置,快速启用
  • 灵活:支持变量插值、以及独特的类型标记和格式化器
  • 自动翻译:一键提取文案并生成语言包
    • 增量翻译:只翻译新增文案,移除未使用文案
    • 多平台支持:例如谷歌X、OpenAI、谷歌、微软、腾讯、阿里云、有道、百度等翻译平台
    • 翻译日志:多种日志输出,便于追踪问题
  • keyless文案即 key,部分特殊场景需要自定义 key(例如:一词多义)

Live Demo

原理

自动翻译 是当前库的核心特性之一,了解更多

该库主要由两部分构成

  • 命令行工具
  • 函数 API

命令行工具:根据指定规则(正则匹配)解析出需要翻译的文案,并通过翻译平台将文案翻译到指定目标语言,最后生成语言包文件

解析文案的 匹配规则 简易示例如下

以下为 文案即 key 的示例

// 普通字符串
t('你好世界')
t("你好世界")
t(`你好世界`)

// 变量插值
t('嗨,{0}', '开发者朋友们')
t('这是{0},欢迎{1},如果你觉得{2},请给予{3}支持', ' `i18n-pro` ', '使用', `对你有帮助`, ' ⭐️ ')

// 类型标记
t('i18n-pro 用户数达到了{n0}', 100000000) // 数字
t('售价为{c0}', 14999) // 货币
t(`今天的日期是{d0}`, new Date()) // 日期
t('当前时间:{t0}', new Date()) // 时间
t('我有{p0个苹果},{p1个香蕉}和{p2个梨}', 5, 4, 3) // 复数 

以下为 自定义 key 的示例

// 普通字符串
t.t('custom-key', '你好世界')
t.t('custom-key', "你好世界")
t.t('custom-key', `你好世界`)

// 变量插值
t.t('custom-key', '嗨,{0}', '开发者朋友们')
t.t('custom-key', '这是{0},欢迎{1},如果你觉得{2},请给予{3}支持', ' `i18n-pro` ', '使用', `对你有帮助`, ' ⭐️ ')

// 类型标记
t.t('custom-key', 'i18n-pro 用户数达到了{n0}', 100000000) // 数字
t.t('custom-key', '售价为{c0}', 14999) // 货币
t.t('custom-key', `今天的日期是{d0}`, new Date()) // 日期
t.t('custom-key', '当前时间:{t0}', new Date()) // 时间
t.t('custom-key', '我有{p0个苹果},{p1个香蕉}和{p2个梨}', 5, 4, 3) // 复数 

函数 API:通过 initI18ntsetI18n 接入多语言支持

  • initI18n:初始化配置,返回 API 对象
  • t:包裹 文案 实现国际化,也是命令行匹配标识
  • setI18n:设置语言、语言包

命令行工具函数 API 搭配使用,轻松集成到任何 JavaScript 项目中

帮助文档

License

MIT

© 2022-present Eyelly Wu