最近用js写了一个用完形填空的方式进行单词语境快速识记的程序: Milkyway-Cloze

这个回复说的很好,说的我要站起来鼓掌:clap:

1 个赞

就是我看词汇学上介绍,英语单词早多少年前就达到了100万,我们有必要都去了解知道吗……

这是我最近背单词懈怠的一个借口。请骂醒我,谢谢。

1 个赞

因为实际要背的单词往少了算大概是1万5+5千词组;往大了算大概是4万+1万5词组;往中间算大概是3万+1万词组。并不是不能完成的。
主要是个感受度的差别,一句话能直接看懂跟查了字典后再看懂,感受度天差地别。

1 个赞

怎么根据个人水平设置填空的单词是哪些?比如高中水平?

填空的单词是根据你选的等级来的,默认是CET-6(使用的是词典dict9k.js,github的项目一看就清楚了),词典文件里收录的基础单词越多,则等级越低,就像作者说的除了默认的cet-6,其他的没有精校;
只为挖空的话,先看看【badList.js】里有没,有就注释掉,没有就直接把单词写到dict9k.js末尾,当然了要按照文件里的格式写,释义写不写都行(如果只是为了能被识别);
还有,词典里的释义都是简明的,最好还是配合MDict使用;多看几本词典没坏处;
被识别的单词,点击的时候会自动copy到剪贴板,所以可以搭配 MDictCapture使用;
此外,作者的UI做的很不错和功能也很完善,单词词形还原、单词校验都有,写得很棒!设计的也很巧妙,懂js的可以对一些地方做符合自己使用习惯的修改。

最低是CET4,没有高中课标3000的水平,导出只能是JSON,用txt格式发现不带填空。

建议你就用 【牛津8 】(不要贪多),用欧路也好、MDict也好,慢慢把高中3000看上几遍,更高效;
并把遇到的例句收集起来;反复看看,更有效;
推荐使用 SIO双向双解词典v3.3 查询更多例句;
如果愿意的话,你自己写个包含高中3000的词典js文件(不用写释义),这样就可以用你收集起来的例句进行填空练习了;
简单来说,词典js文件 包含的 单词 就可以被标注,进而生成填空练习;
哦,还有,不想某个单词被标注的话,就把它写进【badList.js】末尾;
至于导出的json文件,是用来记录 已掌握的单词的(蓝色的),下一次可以通过【Load Words】加载进来;很好的功能;
应该讲清楚了,诶嘿;

1 个赞

蒙哥我用不好,买了好多年了,没怎么点开过。/捂脸跑

1 个赞

感谢 @QThePerfect 开源代码;
我用了一周多的空余时间,针对自己的习惯,做了些相应修改(称:Milkway-Cloze-Plus);
主要是为了配合MDict、 MDictCapture使用,所以该Milkway-Cloze-Plus更适合用来阅读双语例句( 例:利用碎片化时间,突破英语30000词,下方附有TXT版),还有,双语字幕英文在中文在

图例:





【新增功能介绍】:

1、右侧单词列表添加了序号;可放到左侧,或者隐藏(然后使用MDict搭配牛津8朗文柯林斯均可;若为了在例句语境中学单词,不推荐右侧自带的释义);【COPY】还可一键复制列表中的生词,然后使用其他工具进一步处理(例: danci88、Anki);

2、正文部分:

  1. 用 正则 匹配了中文,所以可换行、可隐藏
  2. 英文字体大小可调;
  3. 标注出来的单词,点击时有红色状态框;
  4. 空格键,可切换该处为填空,再次空格键,可还原;并对输入做了优化,非填空状态,不能输入,退格键一次删除一位;
  5. 焦点从某个标注的单词移开时,上一个和下一个都会有拼写检查,错误会有弹窗提示;焦点移动至输入错误的位置时,可直接编辑修改;亦可使用4【空格键】直接还原;
  6. 左键双击 未被标注的单词 ,会获取网络发音(有道)、复制(用于唤起MDict查词),并变浅红色;
  7. 左键单击浅红色,可直接复制、发音;
  8. 右键 单击 浅红色标注的单词时,会取消标注(不会生成填空);
  9. 鼠标划过7处理过的单词时,光标会有变化,予以提示;
  10. 双击8中提到的单词,则可以再次 分别 赋予标注状态;
  11. 添加了方向键作为上一个下一个切换,已屏蔽方向键默认功能,屏幕不会滚动;(options.js可修改前进步数,默认为5)

3、导出时会将浅红色的词一并导出;亦可从历史文件中批量导入;
4、可全屏模式;【F11】亦可;
5、check.js我写的,暂时没有用到;
6、关于等级(使用默认CET-6即可):

  1. 若想某个单词能够 填空,就先看看【badList.js】里有没,有就注释掉,没有就把它添加到【dict9k.js】末尾;
  2. 若想某个单词 不再出现填空,就把它添加到【badList.js】末尾即可;
  3. 由于浏览器无法直接操作本地文件,所以只能手动增删;

7、推荐使用黑色主题

大概就是以上内容了;主要是对操作上细节的处理,优化使用体验
可能会存在未知的bug,不过目前可正常使用【测试平台:Edge浏览器】;
可能关于某个文件的功能 理解有误,见谅;
感谢 @QThePerfect 已经做了完整的功能,有许多设计都很巧妙;

【Milkway-Cloze-Plus】下载(附有突破英语30000词_例句版(txt)):
下载地址(蓝奏云):https://wwz.lanzouw.com/b037gqo1i
密码:e52p

另外,制作的其他工具见:胡桃的精通沙
按键说明: ReadMe

更新:(更新文件见上方蓝奏云,下载【最新】并替换对应文件)

  • 偷看一眼(当处于【中文-隐藏】模式时生效
    偷看一眼
  • 添加【生词】按钮,快速定位至生词列表(可在阅读文章前阅览一遍生词);
  • 右侧生词列表、释义列表,右键单击黄色、绿色单词,可使文中取消标注(用于取消简单词的标注);
    右键取消标注
  • Ctrl+Z撤销上述操作【由于存在BUG,取消文中右键单击功能】

  • 单词释义列表同步文章窗口滚动
    单词释义列表同步文章滚动
  • 合并【生词】【COPY】按钮,设置独立的生词弹窗;右键单击【生词】一键复制;
    生词弹窗

  • 增加了COCA20000词典文件dict2w.js,其中包含了大量基础词汇,没有去除;在【English level】中选择;点击【Click To Start】生效;
  • 增加了【导入badList】按钮,用于屏蔽基础词汇,可在顶部文本框中批量导入,亦或是在单词列表右键单击导入该单词(Ctrl+Z可撤回);
  • F12打开控制台,找到【应用程序】下的【本地存储】badList条目,【复制object】即可复制到剪贴板,可粘贴到记事本查看;
    image
  • 增加【+】【-】用于调整文本输入框中的字体尺寸;
  • 增加【查看已屏蔽】读取localStorage中保存的badList,输出到文本框,用于查看已经屏蔽了多少词汇;

后续更新,见新帖:

7 个赞

BUG楼:
以下问题还请大侠相助,正则代码见下方链接;

注:【对中文的处理】不过是锦上添花,虽还不完美,但不影响Milk-Cloze主要功能
提示:

  1. 中文中不要出现英文【.】和【?】,正则 依靠这两个符号断开中英文;因此中文段落中的小数会受影响【例:2.5】
  2. 中文中不要出现英文【[ ]】【\】【+】和【( )】,这六个符号虽然可以正常匹配到,但影响正则 替换;
    图例:

要是把这里的JS加载到dicttango里的某一部词典,让例句里的单词按表高亮倒是很有用