lang-sync-cli
v0.8.7
Published
An automated tool for extracting, translating and replacing multilingual text in frontend projects.
Maintainers
Readme
lang-sync-cli
功能简介
lang-sync-cli 是一个前端多语言自动化工具,专为现代化前端项目国际化改造而设计。它通过中文词条提取、在线协作翻译、智能代码替换和后期维护检查,大幅降低多语言开发成本,提升团队协作效率。
核心特性
- 中文词条提取 - 自动扫描项目文件,精准提取中文文本和符号
- 在线协作翻译 - 无缝对接飞书在线文档,支持多人实时协作
- 智能代码替换 - 自动将中文替换为国际化函数调用,并补全相关依赖
- 翻译完整性检查 - 确保项目中没有遗漏的未翻译文本
安装
npm install -g lang-sync-cli
# 或
yarn global add lang-sync-cli
# 或
pnpm add -g lang-sync-cli快速开始
1. 初始化配置
zklang init首次使用时运行此命令,引导式配置飞书应用和文档等基本信息。
2. 扫描提取中文词条
zklang scan
# 或完整命令:zklang syncZhToOnlineDoc
zklang scan <sheetName>
# 可指定扫描后要上传的表格名, 若缺省默认从配置取
zklang scan -k <prefix.>
# 可指定上传的表格里sheet页中列key的前缀, 若缺省默认从配置取扫描项目中的所有 Vue/JS/TS 文件,提取中文文本并自动写入飞书在线表格,方便翻译团队协作。
3. 拉取翻译数据并生成语言文件
zklang pull
# 或完整命令:zklang pullExcelGenerateLangFile
zklang pull <sheetName>
# 可指定要拉取数据的目标表格名, 若缺省默认从配置取从飞书在线表格拉取已翻译的多语言数据,自动生成本地语言文件(如 zh-CN.json, en.json 等)。
4. 智能替换代码中的中文文本
zklang replace
# 或完整命令:zklang replaceFilesByLangData自动将项目中的中文文本替换为 t('key') 函数调用,补全相关依赖并处理代码格式,保持代码整洁。
5. 检查翻译完整性
zklang check
# 或完整命令:zklang translationCheck扫描项目,检测是否有遗漏的未翻译文本,确保多语言覆盖完整。
6. 查看帮助
zklang help查看所有可用命令的详细说明。
使用场景
1. 大型项目(老项目)从零接入多语言
# 1. 初始化配置
zklang init
# 2. 扫描现有中文词条到飞书文档
zklang scan
# 3. 等待翻译团队完成翻译后拉取数据
zklang pull
# 4. 自动替换代码中的中文
zklang replace
# 5. 检查是否有遗漏
zklang check2. 已有国际化项目维护
# 1. 扫描新增的中文词条
zklang scan
# 2. 拉取最新的翻译数据
zklang pull
# 3. 替换新增的中文文本
zklang replace3. 翻译完成后更新
# 翻译人员在飞书表格里填充和完善翻译信息之后
zklang pull飞书和翻译集成
- 1.创建飞书电子表格作为翻译协作平台,并开通相关权限
- 2.表格在数据上传后会自动生成以下列:
key,中文简体(zh-CN),英语(en)等 - 3.通过
zklang init配置飞书 ID/秘钥 、工作表和翻译账号(如需翻译)等信息
项目结构
your-project/
├── src/
│ ├── lang/
│ │ ├── zh-CN.json # 自动生成的中文简体语言文件
│ │ ├── en.json # 自动生成的英语语言文件
│ │ ├── ...json # 自动生成的其他语言文件
│ │ └── index.js # 语言文件导出
└── package.json常见问题
Q: 支持哪些前端框架?
A: 支持 Vue 2/3,使用 Webpack 或 Vite 构建的 JavaScript/TypeScript 的项目。
Q: 是否会替换注释和 console 里的中文文本?
A: 不会。在扫描提取,替换等环节都会忽略掉单行注释、多行注释、HTML 注释、console 里的中文汉字和符号。
Q: 飞书文档是必须的吗?
A: 是的,目前主要支持飞书在线表格作为翻译协作平台。
Q: 是否支持多语种的自动翻译?
A: 是的,可以通过配置使用百度翻译或 Bing 翻译进行多语种自动翻译,也支持纯人工翻译模式。
Q: 现在已经有强大的 AI 工具 (Cursor/Claude Code), 还需要这个自动化工具吗?
A: 确实,AI 工具在在代码理解和生成方面非常强大。然而,对于老项目从零开始的国际化改造这类系统化工程:使用 AI 工具需多次沟通调整提示词、翻译和文档协作需要找到对应的 MCP 进行对接、输出结果可能存在不一致
性、批量生成后需要更多的人工复查和修复、每个项目都需要重新沟通和调整、难以确保团队产出一致等缺点。相比之下,lang-sync-cli作为专用工具在效率、一致性、集成度和易用性方面有明显优势。此外
,lang-sync-cli 与 AI 工具比也有改造耗时更少(大项目几分钟完成改造)、不收集上传代码更安全、零成本不付费上班等独特优势。
优化建议
有任何问题或建议,请点击这里 Issue Report
许可证
MIT © 2025-present flyfox
完整协议见 MIT 文件
