本地、离线、零追踪的英语单词学习桌面应用 · Electron + TypeScript
- 🎯 听写模式:显示中文释义,输入英文拼写,系统即时判分
- 📖 复习模式:快速判断"认识 / 不认识",自动加入生词库
- 🎨 学习历史颜色高亮:认识的单词绿色,不认识的红色(一眼看到薄弱点)
- 🔍 格式自动识别:内置「格式 1(自定义)」和「格式 2(CET 风格)」自动判别
- 📂 最近导入管理:侧边栏 LRU 10 条,点击即导入,支持格式标签
- 🪟 子窗口:词汇列表(带前后导航)、添加/修正单词、查看支持格式
- 💾 进度持久化:每个词库独立保存学习历史和生词库
- 🌐 完全本地:无后端、无网络请求、无用户追踪、不上传任何数据
- Node.js ≥ 18
- npm ≥ 9
- Windows 10/11 / macOS / Linux(Electron 跨平台)
# 1. 安装依赖
npm install
# 2. 编译 TypeScript
npm run build
# 3. 启动应用
npm startwordwise-ts/
├── src/ # TypeScript 源码
│ ├── main.ts # Electron 主进程
│ ├── preload.ts # 安全桥接层
│ ├── renderer.ts # 渲染进程主逻辑
│ ├── types.ts # 共享类型定义
│ ├── wordParser.ts # 格式 1 解析器
│ ├── wordParserCET4.ts # 格式 2(CET 风格)解析器
│ ├── formatDetector.ts # 格式自动识别
│ ├── wordOps.ts # 词库核心操作(查重、追加、添加/更新)
│ ├── recentFiles.ts # 最近导入管理(LRU)
│ ├── addword.ts # 添加/修正单词子窗口
│ └── wordlist.ts # 词汇列表子窗口
├── test/ # 测试脚本(*.mjs)
├── 词汇/ # 示例词库
│ └── CET4_words.txt # CET4 纯英文单词(去重后 ~4530 词)
├── index.html # 主窗口 HTML
├── styles.css # 暖米黄护眼模式样式
├── wordlist.html # 词汇列表子窗口
├── addword.html # 添加单词子窗口
├── formats.html # 支持格式说明
├── package.json
├── tsconfig.json # 渲染进程编译配置
├── tsconfig.main.json # 主进程编译配置
├── CHANGELOG.md # 版本变更记录
├── ROADMAP.md # 未来规划
├── FORMAT_SPEC.md # 词库格式规范
└── LICENSE # MIT 协议
生词库 - 2026-06-01
====================
1.apple 苹果
2.banana 香蕉
3.cherry 樱桃
特征:行首数字 + 英文 + 双空格 + 中文
大学英语四级大纲单词表
(共 4615 词)
A
a art.一(个)
abandon [əˈbændən] vt.丢弃;放弃
ability [əˈbiliti] n.能力
特征:标题 大学英语/雅思/托福、音标 [...]、词性 n./vt./a.、字母分组 A/B/C
应用自动识别两种格式,无需手动选择。
- 仓库内置
CET4_words.txt是纯英文单词列表(去除音标、词性、中文翻译),规避第三方汇编版权风险 - 用户应自行准备带释义的合法词库(如自行整理、自有教辅资料)
- 完整带释义的第三方词库可能存在版权争议,请谨慎上传或公开分发
# 运行所有测试
node test/test-wordparser.mjs
node test/test-wordOps.mjs
node test/test-formatDetector.mjs
node test/test-wordParserCET4.mjs
node test/test-recentFiles.mjs- ✅ 完全本地运行,无网络请求
- ✅ 不上传任何用户数据、学习记录、设备信息
- ✅ 所有进度文件(
{词库名}_进度.json)和生词库均存储在用户本地 - ✅ 词库由用户自行导入,应用仅做解析,不对用户导入内容负责
MIT License — 自由使用、修改、分发,需保留版权声明。
💡 建议:开始使用前,先点开「查看支持格式」了解词库规范,再导入你已有的词库文件。