Qwerty Learner 词库不够用?从看懂结构到定制专属词库,一次讲清
【免费下载链接】qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers项目地址: https://gitcode.com/GitHub_Trending/qw/qwerty-learner
第一次翻 Qwerty Learner 词库文件的人,大多会先被劝退——好像不读懂一堆源码就没人敢碰它。真没那么复杂。
Qwerty Learner 是个把"背单词"和"练打字"揉在一块儿的工具:它甩给你一串单词,你边打字边记,练的正是英语的肌肉记忆。软件自带 RAZ 分级阅读、考研、雅思、托福,甚至日语、编程关键词的数百个词库,但总有覆盖不到的地方——你的专业术语、某场小众考试的词表,或者你自己攒的复习清单。
这篇文章不让你啃源码,只带你做两件事:看懂一个词库文件是怎么工作的,再搞清楚怎么把专属词库加进去。
一个词库,其实就是"数据 + 登记"两样东西
很多人把"扩词库"想成了改核心逻辑、写插件,所以才迟迟不敢动手。拆开看,它其实就是个 🧩数据文件加一条元数据登记:
- 数据文件:一份 JSON(一种很轻的数据格式,本质就是结构化的文本),里面装着你所有的单词。项目里这类文件统一放在 public/dicts/ 下,
CET4_T.json、KaoYan_2024.json都是它。 - 元数据登记:一条告诉程序"这个词库叫什么、在哪个文件、有多少词"的记录。每条词库都在 src/resources/dictionary.ts 里登记了一行。
没了。没有算法,也不碰业务逻辑。理解到这一层,剩下的全是填字。
词库文件长什么样:name、trans 字段怎么填
打开任意一个词库文件,比如 public/dicts/CET4_T.json,结构长这样:
[ { "name": "cancel", "trans": ["取消,撤销;删去"], "usphone": "'kænsl" } ]逐个说清楚:
name是单词本身。trans是释义,注意它是数组,一个词有多个义项就放多个。usphone/ukphone是美式、英式音标,可选,填上发音体验会好很多。
这里藏着一个大坑:有些老教程给的字段是word、translation、phonetic。那套字段在本项目里根本读不出来,真实字段就是name/trans/usphone/ukphone。照着错的填,词库加了也白加。
元数据登记在哪、要填哪些字段
光有数据文件还不够,程序得知道它的存在。这条登记统一写在 src/resources/dictionary.ts:
{ id: 'cet4', // 全局唯一 name: 'CET-4', url: '/dicts/CET4_T.json', length: 2607, }几个关键字段:
id:唯一标识,不能和已有词库重,重了会冲突。url:指向 public/dicts/ 下那个 JSON 的实际路径。length:单词总数。填错不影响能不能用,但列表上显示的数量会不准。- 另外还有
description(描述)、category(分类)、tags(标签)、language(语言),决定它归到目录的哪个分组、显示成什么样。
顺带纠个偏:有些教程让你去改src/constants/index.ts,那里面其实没有词库登记,真实位置是src/resources/dictionary.ts。
怎么确认词库加对了:跑起来看一眼
准备提交新词库时,先在本地验一遍。用 yarn 装好依赖再起服务——yarn 负责安装项目用到的第三方库,跟着提示走就行:
yarn yarn dev然后访问http://localhost:5173,打开词库列表。如果你的词库出现在对应分类里,就成了 ✅。
顺手说个小工具:scripts/update-dict-size.js 能自动扫描 public/dicts/ 下所有 JSON,重新算出每个文件的单词数,再把length刷对。批量整理词库时,比一个个手数靠谱得多。
避坑提醒:这些字段填错,词库就不出现
把常踩的坑列在这儿 ⚠️,对号入座:
- 字段名用错:最常见。
name写成word、trans写成translation,程序直接读不到,列表里就少一条。 id撞车:和现有词库id相同,新词库会被覆盖或冲突。url对不上:路径里的文件名和实际文件名差一个字母,加载就 404。length没填或填错:能用,但列表数量显示不准,用上面的脚本一键刷新。
不写代码,也能把词库提上去
不想碰代码也完全没问题。项目官方文档 docs/toBuildDict.md 给不会编程的人留了两条不用写代码的路:
- 把词典源文件准备好,直接找社区帮忙导入,开发者会替你完成格式转换。
- 提一个以"Dictionary Request"开头的 Issue,写清楚你要哪个词库、来源在哪,社区来认领。
会写代码的话,就按前面两节的格式把 JSON 准备好、登记填齐,再走社区提交流程即可。核心就一句:格式对了,剩下的交给社区流程。
写在最后:下一步可以做什么
- 先翻一遍现成词库目录,确认你要的那份是不是已经有了,省得重复造轮子。
- 想加新词库,先按
name/trans把单词整理成 JSON,这是唯一绕不开的一步。 - 卡在格式转换上,就把源文件丢给社区,或让 AI 帮你生成一段转换脚本。
词库这东西,够用就好。先让学习跑起来,再慢慢把它变成真正属于你的那份。
【免费下载链接】qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers项目地址: https://gitcode.com/GitHub_Trending/qw/qwerty-learner
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考