{"id":13495169,"url":"https://github.com/jiangqizheng/BlueSea","last_synced_at":"2025-03-28T16:31:45.435Z","repository":{"id":46989113,"uuid":"320279049","full_name":"jiangqizheng/BlueSea","owner":"jiangqizheng","description":"BlueSea，一个有趣的英语学习扩展，支持划词翻译、单词高亮、单词弹幕、记忆曲线复习、词频统计...","archived":false,"fork":false,"pushed_at":"2022-10-07T15:49:49.000Z","size":8113,"stargazers_count":1121,"open_issues_count":35,"forks_count":108,"subscribers_count":20,"default_branch":"main","last_synced_at":"2024-10-15T17:40:43.010Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jiangqizheng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-10T13:21:04.000Z","updated_at":"2024-10-13T06:36:18.000Z","dependencies_parsed_at":"2022-09-10T20:01:55.459Z","dependency_job_id":null,"html_url":"https://github.com/jiangqizheng/BlueSea","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiangqizheng%2FBlueSea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiangqizheng%2FBlueSea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiangqizheng%2FBlueSea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiangqizheng%2FBlueSea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiangqizheng","download_url":"https://codeload.github.com/jiangqizheng/BlueSea/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222395735,"owners_count":16977617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:31.919Z","updated_at":"2024-10-31T10:30:39.380Z","avatar_url":"https://github.com/jiangqizheng.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","JavaScript (485)"],"sub_categories":[],"readme":"# BlueSea\n\nBlueSea，是一个有趣的英语学习扩展程序。她支持划词翻译、单词高亮、单词弹幕、记忆曲线复习、词频统计...\n\n\n## 内容列表\n\n- [背景](#背景)\n- [开发与使用](#开发与使用)\n- [配置项](#配置项)\n  - [有道智云配置](#有道智云配置)\n- [演示](#演示)\n- [补充](#补充)\n- [更新日志](#更新日志)\n- [维护者](#维护者)\n- [如何贡献](#如何贡献)\n\n\n## 背景\n\n作为开发者，虽然日常总是与英语打交道，但通常是带有强烈目的性的。\n\n因此，在解决技术问题或学习新技能的过程里，遭遇模陌生的单词时，往往直接借助翻译软件，一掠而过。不做记忆，同一个生词下次再相遇依旧不认识。\n\nBlueSea，就是用来解决这个问题的 🔧 。她会帮你记下在日常工作、生活中遭遇的生词，并设计一套科学的复习方案，有趣的复习方式来帮助你记住更多的单词。当然，不仅仅是背单词，她能做更多。\n\n***现有功能清单：***\n\n* 页面英文划词翻译、发音\n* 本地单词管理（单词本）\n* 词频统计（总词频，当日词频，页面内词频）\n* 精确的全局单词高亮\n* 单词弹幕（复习、发音）\n* 卡片式单词复习功能（仅在单词弹幕关闭时生效）\n* 根据遗忘曲线，自动安排单词学习计划（卡片或弹幕）\n* 导入/导出\n* 单词查询\n\n\n## 开发与使用\n\n***下载代码到本地***\n\n```bash\ngit clone https://github.com/jiangqizheng/BlueSea\n```\n\n在 chrome 地址栏输入 `chrome://extensions/` 进入到扩展程序管理界面，然后点击 `加载已解压的扩展程序` 选择刚刚下载到本地的 BlueSea 目录即可。\n\n\u003e 当前为测试阶段，请加载已解压的扩展程序来使用。安装扩展后，建议刷新页面。\n\n***更新***\n\n直接使用 `git pull` 进行更新，更新后重启 chrome 或刷新页面即可。\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\u003cb\u003e如出现文件合并冲突提示: `error: Your local changes to the following files would be overwritten by merge`\u003c/b\u003e\u003c/summary\u003e\n\n可以使用\n\n```bash\n`git add -A`\n`git commit -m \"update\"`\n`git pull`\n```\n\u003c/details\u003e\n\n## 配置项\n\n```js\n{\n\t\"划词翻译\": true, //基础配置（优先级最高），是否启动划词翻译\n  \t\"单词高亮\": true, //基础配置\n\t\"单词弹幕\": true, //基础配置\n\t\"黑名单\": [],\n\t\"中文注解\": true,//全局高亮的时候，是否在单词右上角直接显示中文翻译\n\t\"划词默认发音\": true,//划词或者鼠标移入弹幕时，是否自动发音\n\t\"单词弹幕数量上限\": 10,//一屏内单词弹幕数量，据电脑性能量力而行\n\t\"单词弹幕速度\": 10, // 单位秒，默认为弹幕走完一个周期需要10秒\n\t\"隐藏完成复习的单词\": true//出于性能考虑，建议保持隐藏\n \t\"有道智云appkey\": \"\", //参考下面说明，配置后支持句子翻译\n  \t\"有道智云key\": \"\", //参考下面说明，配置后支持句子翻译\n}\n```\n\u003e 后续会逐步增加可配置项（自定义遗忘曲线、高亮样式、弹幕速度...）\n\n### 有道智云配置\n\n因我的【有道智云】免费额度即将耗尽，所以暂时限制句子翻译，目前仅支持单词与短语翻译（小于四个单词）如需句子翻译，更新插件至最新、并在配置内添加自己的 `有道智云key` 与 `有道智云appkey`。\n\n\n申请有道智云翻译服务流程：\n\n* 注册[有道智云](http://ai.youdao.com/)帐号并登录到控制台页面\n* 创建一个翻译实例：控制台 \u003e 自然语言翻译 \u003e 翻译实例 \u003e 创建翻译实例\n* 创建一个应用并绑定翻译服务：控制台 \u003e 应用管理 \u003e 我的应用 \u003e 创建应用 \u003e 绑定服务\n* 最后在应用详情中，可以看到应用ID（`有道智云appkey`）与应用密钥（`有道智云key`），然后将其添加至插件的配置中，保存并更新，然后刷新页面即可。\n\n其他：\n\n* 如果不需要句子翻译，就无需进行配置。默认已经支持了单词与短语翻译，通常来说够用了。\n* 关于价格，注册后，系统赠送50元代金券，可以额外添加微信领取50元，累计100元额度。按其每百万字符48元的价格，够用上一年了。\n* 关于安全性，配置key后，后台不会做任何记录。如果对安全性存疑， 在 `background.js` 中自行调用有道智云api即可。或者自行部署腾讯云函数也一样。\n\n## 演示\n\n\u003e 仅供参考，迭代后实际界面可能已经发生改变。\n\n### 在页面上遇到生词，进行**划词翻译、发音**\n\n![划词翻译](./images/划词翻译.gif)\n\n### 将生词加入单词本，并根据遗忘曲线，生成复习计划。在复习期间内的单词，将在页面内被**高亮展示**，鼠标移入可以查看信息。\n\n![单词高亮](./images/单词高亮.gif)\n\n### 单词到复习时间，自动创建**单词弹幕**在页面内出现，选择认识或不认识，动态调整复习计划。\n\n![单词弹幕](./images/单词弹幕.gif)\n\n### 单词卡片，查看单词具体信息\n\n![单词卡片](./images/单词卡片.gif)\n\n### 单词本，进行单词管理，或查看词频与其他信息\n\n![单词本](./images/单词本.gif)\n\n### 配置中心，进行各类配置设定\n\n![配置](./images/配置.gif)\n\n\n## 补充\n* 部分页面可能因网站设置了 csp 安全策略，会导致发音失败。\n* 关于根据遗忘曲线生成的复习时间节点逻辑说明，单词具有一个 level 字段，每次进行操作后会进行 +1 或 归零，然后根据最新的 level 生成下一次需要复习的时间节点。\n* 关于默认设置的遗忘曲线为[5,30,12 * 60,24 * 60,2 * 24 * 60,4 * 24 * 60,7 * 24 * 60,15 * 24 * 60,30 * 24 * 60] （单位分钟）。单词被收藏5分钟后将提示复习，然后是30分钟后，12小时后，以此类推。\n* 导出，支持 .json 与 .txt 导出。如果需要更多的导出格式，提交 pr 或者在 issues 中指出。\n* 导入，支持 .json 与 .txt 导入，具体格式参考导出的数据（使用 .txt 进行导入时，因为需要拉取每个单词的翻译信息所以会比较慢，并在导入期间内，不要进行其他操作）。\n* 关于性能，已测试在一个页面内最多标记 100+ 单词。单词本中测试收录 5000+ 单词，后续增加分组功能，缓解性能压力。\n* 翻译提示窗部分样式参考 [ChaZD](https://chrome.google.com/webstore/detail/chazd/nkiipedegbhbjmajlhpegcpcaacbfggp)\n\n\n## 更新日志\n\n[CHANGELOG.md](./CHANGELOG.md)\n\n## 维护者\n\n[@jiangqizheng](https://github.com/jiangqizheng)。\n\n## 如何贡献\n\n非常欢迎你的加入！[提一个 Issue](https://github.com/jiangqizheng/BlueSea/issues/new) 或者提交一个 Pull Request。\n\n欢迎Star、Fork、\n\n### 贡献者\n\n后续更新\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiangqizheng%2FBlueSea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiangqizheng%2FBlueSea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiangqizheng%2FBlueSea/lists"}