5分钟搭好Electron-i18n开发环境:从GitHub Token到npm run build的完整指南
【免费下载链接】i18n🌍 The home of Electron's translated documentation项目地址: https://gitcode.com/gh_mirrors/i18n/i18n
想快速搭好Electron-i18n 开发环境吗?本文带你从零开始,走完「创建 GitHub Token → 配置 .env → npm run build」的完整流程,5分钟即可让这套本地化文档工具跑起来。Electron-i18n 是 Electron 翻译文档之家,负责自动收集英文源文档,并同步简体中文、日语、西班牙语等 10+ 语言的译文。别被"国际化工程"吓到,跟着走即可 ✅
📦 Electron-i18n 到底是什么?
一句话:它把 Electron 官方文档的"多语言搬运工"工作自动化了。
- 从 Electron 上游仓库拉取最新英文文档,写入
content/en-US/ - 接收 Crowdin 平台回传的翻译,按语言落盘到
content/zh-CN/、content/ja-JP/等目录 - 统计各语言翻译进度、词数,并生成语言列表
打开content/目录就能看到全貌:
content ├── en-US # 英文源文档(API、教程、网站文案) ├── zh-CN # 简体中文 ├── ja-JP # 日语 ├── es-ES # 西班牙语 ├── fr-FR # 法语 ├── ru-RU # 俄语 └── pt-BR # 葡萄牙语(巴西)每种语言下都是相同的docs/api、docs/tutorial、website三层结构,便于 Crowdin 按文件名一一对应翻译。同步规则就写在 crowdin.yml 风格的映射文件crowdin.yml里,content/en-US/docs/*.md对应%locale%/docs/%original_file_name%。
💡 小贴士:如果你只是想做翻译,无需搭建本地环境,直接在 Crowdin 平台的 Electron 项目中用浏览器翻译即可;本文面向想阅读、运行或改进这套同步工具的开发者。
✅ 开始前的 3 个前置条件
- Node.js ≥ 10(
package.json中engines的要求,推荐 14+,因为脚本用 ts-node 直接跑 TypeScript) - npm(随 Node.js 自带)
- 一个GitHub 账号(用于生成 Token)
node -v # 确认版本 npm -v第 1 步:克隆 Electron-i18n 仓库
打开终端,执行:
git clone https://gitcode.com/gh_mirrors/i18n/i18n cd i18n克隆完成后你会看到核心文件:
| 路径 | 作用 |
|---|---|
package.json | 定义所有 npm 脚本与依赖 |
.env.example | 环境变量模板(放 Token 的地方) |
crowdin.yml | Crowdin 翻译映射规则 |
content/ | 各语言文档内容 |
script/ | collect、build 等核心脚本 |
lib/ | 解析器、语言列表等模块 |
第 2 步:创建 GitHub Token(无需任何权限)
Electron-i18n 需要通过 GitHub API 拉取上游 Electron 仓库的文档(见script/collect.ts中的 Octokit 客户端),因此必须配置一个 Token。它不需要任何特殊权限(No special scopes needed),一个最普通的 Personal Access Token 就够用。
操作步骤(在 GitHub 网页完成):
- 登录 GitHub,点击右上角头像 →Settings
- 左侧滚动到底部 →Developer settings
- Personal access tokens→Tokens (classic)→Generate new token (classic)
- 填写一个便于识别的 note(如
electron-i18n),权限全部留空,点击生成 - 立刻复制这个
ghp_...开头的字符串,关闭页面后就看不到了
第 3 步:一分钟配置 .env 文件
仓库贴心地准备好了模板.env.example(内容只有一行GH_TOKEN=)。两步完成配置:
cp .env.example .env然后编辑.env,把你的 Token 填进去:
GH_TOKEN=ghp_你的Token粘贴在这里⚠️ 注意:
.env已被加入.gitignore,不会被误提交到仓库,放心填script/collect.ts里通过process.env.GH_TOKEN读取它,名称不能改- 不需要配置任何 Crowdin 相关变量,本地跑 build 用不到
第 4 步:安装依赖并运行 npm run build
npm install npm run build看到各任务依次完成、无报错输出,即代表Electron-i18n 开发环境搭建成功🎉 现在你可以放心地修改脚本、调试解析逻辑,改完直接npm run build验证。
🔍 build 到底做了什么?
build实际上是npm-run-all build:*的串联,共 4 个子任务(见package.json的 scripts):
| 脚本 | 做什么 | 产物 |
|---|---|---|
build:stats | 从 Electron 官网抓取各语言翻译进度(script/stats.ts) | stats.json |
build:module | 用解析器遍历content/下所有语言的 Markdown(script/build-module.ts、lib/parsers/) | 解析后的文档结构 |
build:readme | 按进度排序生成语言列表(script/readme.ts、lib/locales.ts) | 更新readme.md |
build:wordcount | 统计各语言总词数(script/wordcount.ts) | wordcount.md |
语言列表由lib/locales.ts动态读取content/目录生成:新增一个语言目录,它就会自动出现在统计和 README 里。
⚡ 常用命令速查表
| 命令 | 用途 |
|---|---|
npm run collect | 从上游拉取最新英文源文档并清理过期文件(需要 Token) |
npm run build | 执行全部构建任务(最常用) |
npm test | 先 build 再跑 Mocha 测试 + Prettier 检查 |
npm run upload-crowdin-glossary | 生成并上传 Crowdin 术语表 |
日常开发闭环就是:npm run collect→ 检查content/变化 →npm test。仓库还预置了.vscode/launch.json,在 VS Code 中可直接调试Collect、Build module两个任务。
🆘 常见问题排查
Q1:collect报 403 / rate limit?说明 Token 没生效。确认.env中GH_TOKEN=后面没有多余空格,且改完后重新运行命令(环境变量只在启动时读取)。
Q2:Token 真的必须开权限吗?不需要。文档明确说明"No special scopes needed",零权限 Token 即可满足拉取公开仓库的需求。
Q3:build 很慢或内存吃紧?build:module会遍历 7+ 语言、130+ 份 Markdown 文档,首次运行耗时属正常现象。
Q4:readme.md 写着 DEPRECATED,还能学吗?官方翻译协作已迁移到 Crowdin 平台,本仓库定位为工具与内容存档,但其 collect/build 流程完整可用,依然是学习文档本地化工程的好样本。
写在最后
恭喜!你已经掌握了Electron-i18n 开发环境的完整搭建流程:Token →.env→npm install→npm run build。接下来推荐两个练手方向:
- 运行
npm run collect,对比content/en-US/的新变化,理解上游同步机制 - 修改
lib/locales.ts,观察语言排序逻辑如何影响readme.md与统计报告
理解"文档如何从英文源走到 10 种语言",对做任何开源本地化项目都有直接帮助,动手试试吧 🚀
【免费下载链接】i18n🌍 The home of Electron's translated documentation项目地址: https://gitcode.com/gh_mirrors/i18n/i18n
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考