Skip to content

Repository files navigation

简背单词 (wordwise-ts)

本地、离线、零追踪的英语单词学习桌面应用 · 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 start

📂 项目结构

wordwise-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 协议

📖 词库格式

格式 1:自定义纯文本

生词库 - 2026-06-01
====================

1.apple  苹果
2.banana  香蕉
3.cherry  樱桃

特征:行首数字 + 英文 + 双空格 + 中文

格式 2:CET 风格

大学英语四级大纲单词表
(共 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 — 自由使用、修改、分发,需保留版权声明。


💡 建议:开始使用前,先点开「查看支持格式」了解词库规范,再导入你已有的词库文件。

About

Simple word memorizer - local offline desktop app (Electron + TypeScript)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages