浏览器插件-离线英汉词典 2018-10-12
如前文在浏览器插件中读取JSON资源文件末所述, 用浏览器插件实现了不依赖任何在线翻译服务的英汉词典. 由于词典包含77万个词条, 插件大小也达到了13+MB.
词典数据也包含很多常见短语:
源码库: program-in-chinese/webextension_english_chinese_dictionary
在火狐插件网站提交审核时, 发现源文件大小有限制, 超过4MB就不能被审核服务自动分析. 于是按每个词典文件五万词条进行分隔(详见转换到JSON; 按五万行分隔json · program-in-chinese/english-chinese-dictionary@10b55f6)
插件源码主要是导入词典数据和查询/显示两部分:
加载词典.js
const 词典路径 = '词典数据/词典'
const 文件扩展 = '.json'
var 词典文件 = {};
for (var 文件序号 = 0; 文件序号 < 16; 文件序号++) {词典文件[文件序号] = false;
}
var 词典数据 = {};function 载入部分词典(文件) {return function () {var 文件路径 = 词典路径 + 文件 + 文件扩展;fetch(chrome.runtime.getURL(文件路径)).then((响应) => 响应.json()).then((数据) => {for (var 英文 in 数据) {词典数据[英文] = 数据[英文];}词典文件[文件] = true;});}
}for (var 文件 in 词典文件) {载入部分词典(文件)();
}function 已载入词典() {for (var 文件 in 词典文件) {if (!词典文件[文件]) {return false;}}return true;
}function 取释义(选中文本) {var 释义 = 词典数据[选中文本];if (!释义) {选中文本 = 选中文本.toLowerCase();释义 = 词典数据[选中文本];}return 释义;
}
主界面.js
function 翻译选中文本() {chrome.tabs.executeScript({code: "window.getSelection().toString();"}, function (选中内容) {// TODO: 如果没有toString, 报错: -,.toLowerCase is not functionvar 选中文本 = 选中内容.toString();if (!选中文本) {置弹窗内容("无选中文本");return;}var 词典接口 = chrome.extension.getBackgroundPage();if (!词典接口.已载入词典()) {置弹窗内容("载入词典数据中...");return;}var 释义 = 词典接口.取释义(选中文本);置弹窗内容(选中文本, 释义);});
}function 置弹窗内容(英文, 释义) {var 窗体 = document.body;var 英文部分 = document.getElementById("英文");var 释义部分 = document.getElementById("释义");英文部分.appendChild(document.createTextNode(英文));var 多行 = 释义.split('\\n');for (var 行数 in 多行) {释义部分.appendChild(document.createTextNode(多行[行数]));释义部分.appendChild(document.createElement("br"));}
}翻译选中文本();
另, 已在Chrome插件商店发布. 链接如下:
- 火狐插件
- Chrome插件
浏览器插件-离线英汉词典 2018-10-12相关推荐
- Python对英汉词典的若干操作(#10)
从网上下载了一个英汉词典txt版,整理后放在了py文件同一目录下,取名为"英汉词典".后面要用正则表达式处理这些单词. 1.读取英汉词典前10行 f=open("英汉词典 ...
- 【小型JavaFx项目】英汉词典
英汉词典 简介 知识点简介 效果图 源代码 Word.java DictionaryFunction.java DictionaryFrame.java 简介 花了1个多小时帮数媒的同学用以前的项目改 ...
- APP Designer 制作简易英汉词典的回调函数书写
APP Designer 制作简易英汉词典的回调函数书写 在学习MATLAB 的App Designer 时看到的一个有意思的小项目,主要步骤参考了slandarer 的MATLAB 手把手带你制作第 ...
- 电子英汉词典c语言程序设计报告,英汉电子词典设计报告_设计_C语言_C语言程序设计.doc...
英汉电子词典设计报告_设计_C语言_C语言程序设计 课程设计 课程名称 :C语言程序课程设计 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化1101 学 号 :20110102 ...
- linux英汉字典代码,Ubuntu安装英汉词典(词库)详细步骤
Ubuntu安装英汉词典(词库)详细步骤 发布时间:2013-05-26 11:26:08 作者:佚名 我要评论 linux并不缺少词典软件.但是缺少词库.所有的词典软件都需要,自己下载安装词 ...
- c语言电子英汉词典编程报告,电子英汉词典的编程C语言报告.doc
课程设计(论文) 课 题: 电子英汉词典的编程 学 院: 专 业: 学生姓名: 学 号: 指导老师 : 目录 *内容摘要-----------.---..-------------..3 *关键词-- ...
- 电子英汉词典c语言设计报告,C语言课程设计——电子英汉词典汇编.doc
PAGE 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 纺织服装学院 班 级 纺工1203 学 号 姓 名 指导教师 田 媛 2014年 01 月06 日 湖南工程 ...
- python英汉词典
# -*- coding: utf-8 -*- """ Created on Tue Dec 18 01:06:45 2018@author: Administrator ...
- 英汉词典c语言报告程序,C语言电子英汉词典程序设计报告-自动化1203-李煜明.docx...
课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 自动化 班 级 1203 学 号 201201020304 姓 名 李煜明 指导教师 欧阳湘江 田媛 张晓清 2013 ...
最新文章
- 日调用量超三十万亿,腾讯开源百万级服务发现和治理中心北极星
- 计算机等级delphi取消,计算机二级DELPHI控件:DELPHI过滤记录的实现方法
- 正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间
- Delphi6及SqlServer对于生僻字䶮的支持测试
- 转载关于通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端
- java关键字汉化_java关键字是什么
- 漫谈 - 从技术业务骨干走向管理
- 命令查询每个文件文件数
- 定时任务莫名停止,Spring 定时任务存在 Bug??
- vscode的pip安装
- Lisp真的是屠龙之技吗?
- 无法删除的文件夹怎么办?如何删除删不掉的文件夹
- UltraCompare如何进行模块和线路模式合并?
- 固定翼位置控制_L1
- 计算机思维能力培养的核心是什么,【计算机基础论文】计算机基础教学中计算思维能力培养(共6714字)...
- 弹窗广告关不掉?工信部:用这个方法举报!
- 最近我都干了些什么——反思!!
- 怎么样关闭计算机的操作音,电脑报警音怎么关闭
- 深入理解pdf.js,PDFObject, iframe 三种方式来打开PDF文件的区别
- FDTD仿真、解决微环透射率大于1 T大于1的问题