Milkyway-Cloze-Plus:对Milkyway-Cloze 的 功能升级 【双语阅读,生词辅助】

原作者提供的网页版Milkyway-Cloze(milkywaycloze.tk)

本帖原先在上面帖子的楼里发布,感觉在楼里能看到的人很少,就搬了出来;根据程序最新功能,这里做些修改,以后面的描述为准;反正上手很快就会了;


感谢 @QThePerfect 开源代码;

一个月前发现了这款工具【Milkway-Cloze】,感觉功能出发点很好,但是用时却有些地方卡手。于是,当时我用了一周多的空余时间,针对自己的习惯,做了些相应修改(称:Milkway-Cloze-Plus),并陆续做了些更新;
GitHub地址:GitHub - Mingri159/Milkway-Cloze-Plus: 静态网页版【Milkway-Cloze-Plus】
测试平台:Edge浏览器


  • 2023-9-25
  • Milkyway-Cloze-Plus-Vue-Python】:Python简易后端,用户数据保存在本地【user】文件夹;
  • 建议导入的文本文件小一点,最好在20KB以下;
  • 完善功能:双击【server.py】启动后,自动跳转浏览器地址【127.0.0.1:1234】,默认打开【Edge浏览器】,其次是【Chrome浏览器】;
  • 下载:https://wwnf.lanzouw.com/i7bYQ19v83ib 密码:cd6j

主要是为了 配合MDict、 MDictCapture使用,
所以该 Milkway-Cloze-Plus更适合用来阅读 双语例句( 例:利用碎片化时间,突破英语30000词蓝奏云附有TXT版),还有,双语字幕英文在中文在

推荐 【已完结】 SIO双向双解词典v3.3;查找例句很方便

平时查单词,可以顺便把例句记录下来,这样单词就有了语境
使用该工具可以很方便进行复盘(可以隐藏中文);
右侧自带的词典可以参考,但不推荐COCA20000单词释义是用Anki的FastWordQuery获取的;ReadMe
推荐词典:牛津、柯林斯、朗文、英汉大词典(第二版)

Milkway-Cloze-Plus】图例:






新增功能介绍】:

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

2、正文部分:

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

3、导出 时会将浅红色的单词一并导出;亦可从历史文件中批量导入;
4、可全屏模式;同【F11】;
6、关于等级(使用默认COCA20000CET-6均可,看个人,ReadMe):

【以下针对使用 本地文件 - 离线版 时】

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

7、推荐使用黑色主题

大概就是以上内容了;主要是对操作上细节的处理,优化使用体验
可能会存在未知的bug,不过目前可正常使用【测试平台:Edge浏览器】;

感谢 @QThePerfect 已经做了完整的基础功能,有许多设计都很巧妙


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

注:

  1. 先下载【Milkway-Cloze-Plus】【这是包含发音文件的版本】
  2. 下载【最新】,并替换对应的文件夹;
  3. 若不想下载,可以使用【静态网页版】

另外,制作的其他工具见:胡桃的精通沙
B站视频: 𝓜𝓲𝓵𝓴𝔂𝔀𝓪𝔂-𝓒𝓵𝓸𝔃𝓮-𝓟𝓵𝓾𝓼
按键说明: ReadMe


使用-导入文本



后续更新

  • 【更新文件见上方蓝奏云,下载【最新】并替换对应文件】
  • 偷看一眼(当处于【中文-隐藏】模式时生效
    偷看一眼

  • 添加【生词】按钮,定位至生词列表(可在阅读文章前阅览一遍生词);【该处已优化为生词弹窗

  • 右侧单词列表、生词弹窗中,右键单击黄色、绿色单词,可使文中取消标注(用于取消简单词的标注);
    右键取消标注

  • Ctrl+Z撤销上述操作【由于存在BUG,取消文中右键单击功能】


  • ---------------2022.10.13---------------
  • 单词释义列表同步文章窗口滚动
    单词释义列表同步文章滚动

  • 合并【生词】【COPY】按钮,设置独立的生词弹窗;右键单击【生词】一键复制;
    生词弹窗

  • 增加了COCA20000词典文件dict2w.js,其中包含了大量基础词汇,没有去除;在【English level】中选择;点击【Click To Start】生效;


  • ---------------2022.10.17---------------
  • 增加了【导入badList】按钮,用于屏蔽基础词汇,可在顶部文本框中批量导入,亦或是在单词列表右键单击导入该单词(Ctrl+Z可撤回);

  • F12打开控制台,找到【应用程序】下的【本地存储】badList条目,【复制object】即可复制到剪贴板,可粘贴到记事本查看;
    image

  • 增加【+】【-】用于调整文本输入框中的字体尺寸;

  • 增加【查看已屏蔽】读取localStorage中保存的badList,输出到文本框,用于查看已经屏蔽了多少词汇;

  • ---------------2022.10.25---------------

  • 词汇分级标注【类 蒙哥阅读器】(花里胡哨)

  • Tail +】开启/关闭 词汇分级的小尾巴

  • ---------------2022.10.26---------------

  • 生词弹窗 里4个按钮功能介绍:

    1. 】: 按字母顺序 排序;【】 :还原默认;
    2. 【M】:【Mark】按词汇标注的等级排序;
    3. 【D】:【Default】清除等级标注;(不影响 2 【M】的功能)
    4. 【C】:【Copy】一键复制生词;
  • 增加【:art:All Mark】按钮,功能:一键标注全部等级;【Cancel Mark】:取消全部标注;

  • 增加【宽点】按钮,功能:加宽 右侧单词释义列表,仅在右侧时有效;【窄点】:恢复默认宽度

  • ---------------2022.10.27---------------

  • 增加【释义-隐藏】按钮,功能:一键隐藏右侧释义列表释义项;【释义-显示】:恢复默认;

  • 增加【:balloon:Nav +】按钮,功能:隐藏顶部输入框等信息;【:balloon:Nav -】:恢复默认;

  • :page_facing_up:Load Article】除了可以读取由【:rocket: Export】导出的 json文件;还可读取 txt文件,效果等同【复制文本到输入框再点 Click To Start

  • :page_facing_up:Load Article】增加校验,只加载一个json/txt文件;

  • ---------------2022.10.29---------------

  • 可识别文中带连字符的单词,首字母大写的单词、全部大写的单词;
    如果没有识别,那是词典文件里没有该词条;

  • ---------------2022.10.30---------------
    做了个简易的设置弹窗

  • ---------------2022.10.31---------------

  • 设置弹窗 中 可添加用户;在导航区可 切换用户
    image

  • 本次更新后,注意:如果之前使用过Milkway-Cloze-Plus(离线版静态网页版),若遇到网页无法操作的情况,请按 #63楼 步骤解决;

  • ---------------2022.11.3---------------

  • 【填空模式】 初次打开填空模式,自动定位至第一个填空;

  • 【填空模式】去除当前位置(切换至上一个、下一个时)校验的 错误提示

  • 【填空模式】当输入正确时,自动切换至下一个填空;

  • 修复:填空模式下,当删除完填空内的字符并切换至下一个时,该位置无法再被定位到的问题;

  • 注意:一部分单词发音是原形的发音,因此在填空时,需注意时态复数

  • ---------------2022.11.9---------------

  • 【添加】:载入文件类型添加html,并对其预处理(去除所有 id、class,并去除 [ p、strong、em、i ] 之外的所有标签)

  • 处理:载入html文件后,双击获取网络发音失效问题;

  • 处理: 滚动条的滑块过小 不易拖动的问题

  • 【 添加】:词组识别】功能

    不能识别 含人称代词标点符号中文的词组;【词典文件里不要添加这些】

  • ---------------2022.11.10---------------

  • 优化【词组识别】,词组长度不限,问题同上;

  • 处理,使用右键屏蔽单词后及【Ctrl+Z】后,当前定位问题;(用于方向键切换上一个、下一个

  • 【添加】:快捷键【Ctrl+X】,用于 隐藏/显示页面中的非阅读区域;配合【F11】【全屏】阅读体验更佳;

  • ---------------2022.11.11---------------

  • 【添加】:快捷键【Ctrl+A】,右侧释义列表【宽点】;

  • 【添加】:快捷键【Ctrl+S】,打开设置弹窗

  • 【添加】:快捷键【Ctrl+D】,清除/恢复重复生词的标注;

  • 【添加】:【设置7】关闭时,将一同清除文中重复生词的标注;可使用【Ctrl+D】恢复标注;

  • 【优化】:【词组识别】

    1. 识别到一个词组后,长度为1的不予记录(正常是不会有这样的数据的,出现该问题的原因未知);
    2. 识别完成后,将汇总结果去重,以免在文中匹配时,生成大量重复数据;
  • 【修复】:【生词弹窗】

    1. 按字母排序后,右键单击时没有保持字母排序的问题;
    2. 再次打开【生词弹窗】,保持上次的排序方式;
  • ---------------2022.11.12---------------

  • 【添加】:【Ctrl+鼠标滚轮】

    1. 输入框激活时,缩放【输入框】字体
    2. 输入框未激活时,缩放【阅读区】字体;
    3. 【Ctrl+Shift+滚轮】,缩放【浏览器页面】;
  • 【添加】:【Ctrl+M】,将【红色状态框】内的词屏蔽;【同右侧释义列表的右键单击

  • 【更改】:【关于右键单击及快捷键 [Ctrl+M] 的使用方法】

    1. 在【生词弹窗】【右侧释义列表】,右键单击【屏蔽该词,添加至knownList】【同以往】;
    2. 在【阅读区】,右键单击【按键5(绿色)】的标注 —> 使其恢复为【生词(橙色)】【同以往】;
    3. 在【阅读区】,右键单击【生词(橙色)】的标注 —> 使其无标注;【用于消除程序识别错误的词组】【可双击恢复】【新】;【Ctrl+Z无效】
    4. 在【阅读区】,快捷键【Ctrl+M】【屏蔽该词,添加至knownList】;作用于红色状态框的单词/词组【通过 鼠标单击|方向键切换 出现】【新】;【可 Ctrl+Z 恢复】
      image image
  • 【处理】:右键取消【阅读区】的某个单词的标注后的定位问题;

  • ---------------2022.11.13---------------

  • 本地启动 mdx-sever 后,可在该页面内查词;

    mdx-server
    mdx-server-morphology【查词时可词形还原】
    Python下载地址: Python Releases for Windows | Python.org

  • 查词窗口:

    1. 可拖动;
    2. 可缩放;
    3. 可隐藏;
    4. 内容可缩放;
  • 查词方式:

    1. 单击任意被标注的单词;
    2. 双击未被标注的单词;
    3. 词组:鼠标选中后,鼠标中键点击;
    4. Ctrl+Shift+Space,输入框填入单词,点击查询;

    本地mdx查词

  • ---------------2022.11.14---------------

  • 添加颜色选择器,便于更换词典背景颜色
    QQ截图20221114114321

  • 在查询页面下方,展示出词形还原的结果,便于切换查询;例:文中标注了permanently,点击后,mdx查询不到,这时可点击最下方的 permanent 查询;

  • 关于词形还原

    1. 在文章加载后,自行词形还原,去词典文件中匹配词条;【依据还原规则】【有失误的地方:stepped–>steppe;正确:stepped–>step】
    2. mdx-server-morphology 自带词形还原;【依据还原词条文件
    3. mdx窗口下方;【依据还原规则】【会出现许多不是单词的单词,例:inclined\incline\ inclin;blocking\block\ blocke
  • 添加:快捷键【Ctrl+B】,打开/关闭 mdx查词窗口;

  • ---------------2022.11.15---------------

  • 添加:快捷键【Ctrl+Shift+Space】,打开窗口,可添加【单词 | 词组】至LocalStorage;也可用于查单词

    用户自己添加的单词,默认跟随【COCA20000】,一同标注;
    用户自己添加的词组,默认跟随【词组】,一同标注;

  • 更改【下拉单选】为【下拉多选】,可单独标注【词组】;
    image
  • 添加,【Ctrl+滚轮】,缩放mdx查词页面;【需鼠标置于顶部功能栏
    mdx页面缩放
  • ---------------2022.11.17---------------
  • 修复,Cet-4不生效问题;
  • 优化,mdx窗口默认缩放1.2X;
  • 添加,点击空白处,mdx窗口取消最宽状态;
    点击空白处,mdx页面取消最宽
  • ---------------2022.12.3---------------
    添加:【设置】配置项,Cloze模式下,跳转上一个单词时,清空单词;
    优化:【空格键】切换【填空】与【还原】时的逻辑;


其他:

  • ---------------2022.10.26---------------
  • 控制台 查单词代码(没什么用):
dict2w.word;//单词:word
dict9k.foreword;//单词:foreword
dictList.abash;//单词:abash
  • 控制台查看内部词典数据代码:
console.log(Object.keys(dict2w));
console.log(Object.keys(dict9k));
console.log(Object.keys(dictList));
  • 控制台查看各等级词表
console.log('中考:',mark_1);
console.log('高考:',mark_2);
console.log('考研:',mark_3);
console.log('六级:',mark_4);
console.log('专八:',mark_5);
console.log('GRE:',mark_6);
is_voc = false;//关闭发音、复制
is_voc = true; //开启发音、复制
  • 方向键 前进后退 步数 , 默认5
step = 5;//可修改为其他大于0的整数

  • 生词弹窗、右侧单词释义列表 右键单击时 文中的等级标注 (颜色) 是否取消 ;默认取消
is_mark = true;   //取消
is_mark = false;  //不取消
  • 等级选择框 选择默认后 生词弹窗【M】按钮 是否要保存等级排序 【已使用】, 默认保存
is_also_mark = true; // 保存
is_also_mark = false; // 不保存

  • ---------------2022.10.29---------------

  • 双击选中状态 默认不选中

is_dbl_select = false; //关闭
is_dbl_select = true; //开启选中
  • 原生右键菜单 默认屏蔽
is_menu_prevent = true; //屏蔽
is_menu_prevent = false; //开启
16 个赞

赞一个,离线网页版蒙哥阅读器~

人人值得拥有

1 个赞

后续是否考虑用比较简单的方法让小白用户增加用于分级的自定义词表,不限于英语,还可以其他语言

或者给小白用户一个指导,说明在现有模式下如何自定义用于分级的词表

这个不太好实现;

好的,先说这个分级是什么,
CET-4,是根据dict7k.js来处理文本的,收词量6500;【原项目自带】
CET-6,是根据dict9k.js来处理文本的,收词量7470;【原项目自带】
后来新增COCA20000,是根据dict2w.js来处理文本的,收词量20265

COCA20000项,释义是先去dict2w.js中找词条,找不到的话再去dict9k.js【CET-6】中找,
因此,右侧单词释义列表里是混合的,dict9k.js【CET-6】词条的音标后面有个英文点【.】
image

选择不同等级,对于同样的文本(比如蓝奏云链接里的Day1),识别的结果不同,COCA20000大概是CET-6的3倍,因为包含了大量基础词

为此,添加了屏蔽功能的按钮,可以使用户操作屏蔽记录,在使用时,如果看到标注的认识的单词,就用右键单击把它屏蔽掉,以后就不会被标注了;【记录在浏览器localStoragebadList项】

屏蔽文件badList中默认有2000的基础词,可以点击 【查看已屏蔽】 ,查看详情;

所以 前期 对于词汇量大的同学,会看到很多标注的词都认识,那么把它们都屏蔽掉就好了;
如果词汇量不大,那就慢慢记;

总的来说,目前没有简单粗暴地划分等级;
如果不想慢慢来,可以使用【导入badList】,把认识的单词一次性导入;

或者 多拿些文章训练一下就好了

3 个赞

是原项目本来就写得很好,功能很完善;可以给 Milkyway-Cloze (github.com)Star

  1. 词形还原;
  2. 单词识别;
  3. 完形填空;
  4. 进度记录;
  5. 熟词屏蔽;

只是有些地方用着卡手,所以优化了交互逻辑;

1 个赞

建议增加考研单词表、还有专八单词表,需要的人应该不少。

看css 第二次及以上出现的生词为 .word-filler-dup,但是这一版显示为绿色,容易与标注为“认识”的绿色混淆,可考虑一下换颜色

1 个赞

看了一下附带的几个词表内容

CET-6 ,对应dict9k.js ,范围应该是六级词汇,考六级的朋友可以确认一下
TOEFL/IELTS,9600多个词,对应的都是dictEE.js,考TOEFL/IELTS的朋友可以确认一下

但是:
CET-4 ,对应dict7k.js,分级难度并不是英语四级考试,里面的单词难度级别比六级高,有考研范围、也有专八范围,算是一个中高级词汇的杂合版

需求可以理解,但不必要,选择CET-6等级就行了;7000多词,总归得认识;

依据《英语专业八级考试大纲》,标准词汇要求13000词 ,需要熟练掌握8000词 左右;
COCA20000就行了,多出来的词,只要不是用词很偏的文章,遇到的会很少的,满足多数人使用;

【4、5标注的认识的词】与【重复出现的单词】在字体上是有区别的;
改一下也不难;这样如何

dict7k.jsdict9k.jsdictEE.js是项目原来带的,里面应该是去除了一部分基础词;
@QThePerfect 在帖子里也说【推荐使用CET-6
为了满足词汇量小词汇量大的同学的需要,就加了包含基础词COCA20000

此外,这个右侧单词列表自带的释义,可以浏览文章时顺便瞟一眼,但不推荐完全依赖;
单击【黄色的词】,双击【未标注的词】都可自动复制到剪贴板,配合 MDictCapture可以唤起MDict,浏览专业的词典更为推荐;在帖子 一开始也说了这一点;

把单词标注出来,可以有个视觉上的冲击,更能促进记忆

2 个赞

推荐网站:

  1. 英文小说网 (tingroom.com)
  2. Practice typing by retyping ENTIRE novels — TypeLit.io

推荐工具:

  1. 有道欧路词典生词本高亮 - 浏览器扩展

本站资源:

  1. Search FreeMdict Files
  2. 【20201017更新】新世纪汉英大词典 - 汉英 - FreeMdict Forum
  3. 朗文英语写作活用词典英汉双解 - FreeMdict
  4. Lla【朗文英语写作活用词典】【汉英反查】 - 英汉汉英 - FreeMdict Forum
  5. Tio词典网页版(中英、中日) - 资源分享 - FreeMdict Forum
  6. (搬运+修改)新世纪英汉大词典 - 英汉 - FreeMdict Forum
  7. 牛津英语同义词英汉双解简体增强版(修复音标斜杠显示) - 英汉 - FreeMdict Forum
  8. 英汉大词典(第二版)CSS排版 - 词典装饰排版交流分享 - FreeMdict Forum
  9. 朗文多功能分类词典 英汉双解 - 资源分享 / 电子书 - FreeMdict Forum
  10. ff-collins COBUILD双解 - FreeMdict
  11. 现代汉语词典第7版-2022.02.02 及由startle美化修改的版本 - 汉汉 - FreeMdict Forum
  12. 现代汉语词典7-[施工现场]20220918 - 汉汉 - FreeMdict Forum
  13. 分享若干词表:大学四级,六级,专四,专八,toefl,oald,gre,coca, - 资源分享 - FreeMdict Forum
  14. Preview - 修改MDX CSS的神器,支持CSSJS实时预览 - 技术交流与词典编修 - FreeMdict Forum
  15. 朗文英语写作活用词典(英汉双解-高清文字版)PDF - 资源分享 - FreeMdict Forum
  16. 2万多条词组,来源权威、正规。如果纯粹追求多而全,可以下载TLD,然后自行解压提取。
  17. 牛津英語搭配詞典 - 第二版 - 英漢雙解(彩虹版)
  18. Use the Right Word 英文字用法指南2021圣诞版 - 英汉 - FreeMdict Forum
  19. [纯文字版]Collins Cobuild 英语语法大全用法大全(繁体转简体) - 资源分享 - FreeMdict Forum
2 个赞

蒙哥阅读器词汇分级效果更新了,可以看看哦

2 个赞

这次更新很不错,既照顾了用户自定义的词表,又可以按一些考试范围来查看
推荐大家使用

个人使用是把教育部2020年版词汇表加上自己已经记熟的单词作为badlist做排除用:

再根据自己的需要整合了一个不熟/生词表替换CET/4 对应的 dict7k.js:

实际上下面这个帖的背单词问题基本可以用本帖的工具解决:

感谢两位开发者提供这么好的工具

分级显示之前有一个思路,就是在用户自定义词表中汉语释义前显示所属考试/词表范围,就像欧陆那样会更直观一些,The Little Dict 里面都有这些数据。这样可以一个词表搞定。本来想做,闲麻烦又没啥空。

现在的方案也不错,就是需要用户记住分级词表对应的颜色。应该可以用 css的:after 方法实现文字范围显示,等我有空自己试试

1 个赞

注:是通过id直接改的颜色;

    document.getElementById(arr[i].id).style.color = color;
    document.getElementById(arr[i].id + "-exp").style.color = color;
1 个赞

所以就是下载了蓝奏云里的压缩包,解压缩,双击打开名叫index的网页。复制粘贴(内容随意)在上面的框,点击start按钮,在下面的框阅读。

直接改css也行,方便会css的群友,加到 milkyway-font.css 里面,颜色各位同学可自己调


#explain-area .word-filler[style^="color: rgb"]:after {
    font-size: smaller;
    margin: 0 10px;
    border-radius: 3px;
}

#explain-area .word-filler[style="color: rgb(255, 118, 118);"]:after {
    content: "中考";
}
#explain-area .word-filler[style="color: rgb(96, 148, 234);"]:after {
    content: "高考";
}
#explain-area .word-filler[style="color: rgb(115, 110, 254);"]:after {
    content: "考研";
}
#explain-area .word-filler[style="color: rgb(40, 199, 111);"]:after {
    content: "六级";
}
#explain-area .word-filler[style="color: rgb(89, 118, 186);"]:after {
    content: "专八";
}
#explain-area .word-filler[style="color: rgb(138, 24, 116);"]:after {
    content: "GRE";
}

1 个赞

这样写,

1 个赞

也有在线的,初次打开网页比较慢,可以不用关窗口
Mingri159/Milkway-Cloze-Plus: 静态网页版【Milkway-Cloze-Plus】 (github.com)