Kiwi 是阿里开源的一套国际化全流程解决方案,它不只是一个软件国际化代码库,更覆盖了从设计、开发、提取、翻译到发布的完整链路。

Kiwi 整体基于 kiwi-intl 国际化框架,实现了与框架无关的语言切换能力。
开发过程中,你可以通过 kiwi linter 批量自动提取中文文案;替换后的文案变量,还能在 VS Code 里直接显示对应的中文含义。
全局搜索中文文案时,可以直接跳到对应代码位置,这很好地解决了国际化过程中文案缺失带来的开发体验问题。
翻译环节中,kiwi 命令行会自动提取尚未送翻的词汇并整理成 Excel,方便与翻译团队协作。翻译同学还没返回译文期间,Kiwi 内置了支持 Google 及多种翻译平台的自动翻译脚本,可以先临时翻译成目标语言,减少文案调整的等待时间。待正式翻译完成后,再用 kiwi 命令行一键导入项目文件。
Kiwi 还提供了对应的 TSLint 插件,开发过程中实时提醒未抽离文案,并在代码提交时拦截未国际化的提交。
1. 为什么使用 Kiwi?
前端做 国际化 的成熟库不少,比较知名的有 react-intl 和 I18N-loader。它们都能解决代码里多语言切换的问题,但仍有几个痛点没有覆盖:
- 文案用国际化 Key 替换后难以搜索,读起来不直观
- 代码中的中文提取困难
- 不清楚项目里是否还有未提取的中文文案
除此之外,这些国际化库也没能解决流程协作上的问题:
- 国际化涉及多方人员,需要频繁与各业务方沟通,比如导出翻译文案交给翻译团队
- 在拿到对应语言文案之前,译文长度未知,UI 调整难度大
不认识目标语言,或者不知道显示长度,UI 布局就无从下手。Kiwi 正是为这些场景而设计的。
2. 功能演示
1. 一键提取中文文案

2. 检测代码中含有中文文案

3. 搜索对应文案

开源项目地址
https://github.com/alibaba/kiwi
如果对这类 开源实战 项目感兴趣,也可以到 云栈社区 逛逛,上面有不少开发者分享的国际化、工程化实践经验。
|