项目定位
要解决什么问题
我相信你也有这样的烦恼:前端做国际化项目,有大量的体力活……
包括想 key 名、手动替换 key。如果涉及的国家比较多的话,还要挨个语言复制粘贴……代码已经开发完了,为了这个多语言又得花个半天时间搞。
虽然现在可以雇一个 AI 帮你干,但是想要完全脱手还是不太放心。
工具主张
该项目就是为了做多语言的时候,尽量脱手,让你拥有接近单一语言的开发体验。
也就是说你只管像原来开发单一语言那样开发,其它交给它。它会自动抽离出文本,交给别人(或 AI)去做。
我看了市面上也有不少类似的工具,但是都很繁重,还要后台管理、权限配置、数据分析一大堆。我只想翻个译,给我搞这么拖家带口的,为了收费也是拼了……
如果你和我一样,项目不是特别特别大,强烈推荐。该工具就是配置简单,快速上手。
能力模块一览
从「工作流结构」上看,项目覆盖以下能力(与仓库内脚本/构建产物一一对应,可按需选用):
| 模块 | 作用 |
|---|---|
| conversion(rep) | 扫描源码,提取文案并替换为可国际化调用(生成/更新 src/locales/*.json) |
| json2Excel | 把本地多语言 JSON 导出为 Excel |
| excel2Json | 把 Excel 导入/同步回本地多语言 JSON |
| feishu | 本地 JSON ↔ 飞书多维表格(push/pull,全量同步、排序、进度、限流) |
| google-sheets | 本地 JSON ↔ Google Sheets(push/pull,全量同步、排序、进度、代理) |
| deepSeek | 接入 DeepSeek 大模型实现同步翻译 |
典型路径可以理解为:源码 →(rep)→ 本地 JSON →(Excel / 飞书 / Sheets)→ 翻译协作 → 回写 JSON → 应用加载。
$k() 工作方式简述
将项目中的文本都用 $k('普通文本') 包裹,执行脚本后,$k('普通文本') 会变成 $k`...`,内部再结合相关 i18n 库实现翻译。例如:
$k(`这是文本`) --> $k`auto.1__这是文本`