5分钟搭好Electron-i18n开发环境:从GitHub Token到npm run build的完整指南
2026/8/26 19:58:18 网站建设 项目流程

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/apidocs/tutorialwebsite三层结构,便于 Crowdin 按文件名一一对应翻译。同步规则就写在 crowdin.yml 风格的映射文件crowdin.yml里,content/en-US/docs/*.md对应%locale%/docs/%original_file_name%

💡 小贴士:如果你只是想做翻译,无需搭建本地环境,直接在 Crowdin 平台的 Electron 项目中用浏览器翻译即可;本文面向想阅读、运行或改进这套同步工具的开发者。

✅ 开始前的 3 个前置条件

  1. Node.js ≥ 10package.jsonengines的要求,推荐 14+,因为脚本用 ts-node 直接跑 TypeScript)
  2. npm(随 Node.js 自带)
  3. 一个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.ymlCrowdin 翻译映射规则
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 网页完成):

  1. 登录 GitHub,点击右上角头像 →Settings
  2. 左侧滚动到底部 →Developer settings
  3. Personal access tokensTokens (classic)Generate new token (classic)
  4. 填写一个便于识别的 note(如electron-i18n),权限全部留空,点击生成
  5. 立刻复制这个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.tsstats.json
build:module用解析器遍历content/下所有语言的 Markdown(script/build-module.tslib/parsers/解析后的文档结构
build:readme按进度排序生成语言列表(script/readme.tslib/locales.ts更新readme.md
build:wordcount统计各语言总词数(script/wordcount.tswordcount.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 中可直接调试CollectBuild module两个任务。

🆘 常见问题排查

Q1:collect报 403 / rate limit?说明 Token 没生效。确认.envGH_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 →.envnpm installnpm run build。接下来推荐两个练手方向:

  1. 运行npm run collect,对比content/en-US/的新变化,理解上游同步机制
  2. 修改lib/locales.ts,观察语言排序逻辑如何影响readme.md与统计报告

理解"文档如何从英文源走到 10 种语言",对做任何开源本地化项目都有直接帮助,动手试试吧 🚀

【免费下载链接】i18n🌍 The home of Electron's translated documentation项目地址: https://gitcode.com/gh_mirrors/i18n/i18n

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询