Chrome浏览器的翻译插件开发

article/2025/9/23 5:38:52

目 录

第一章 绪论 1
1.1. 课题研究背景 1
1.2. 国内外浏览器翻译插件的现状 1
1.3. 研究目的和意义 3
1.4. 论文内容和结构 3
第二章 课题关键技术 4
2.1. VC++简介 4
2.2. MFC简介 4
2.3. C++简介及语言特点 8
2.4. 屏幕取词技术介绍 8
第三章 需求分析 10
3.1. 项目名称 10
3.2. 可行性分析 10
3.3. 界面需求 10
3.4. 功能需求 11
3.5. 用例分析 12
3.6. 系统非功能性需求分析 14
第四章 系统设计 16
4.1. 系统总体设计 16
4.2. 系统设计目标 17
4.3. 系统详细设计 17
4.3.1. 屏幕取词模块详细设计 17
4.3.2. 屏幕取词技术解决方案的设计 19
4.3.3. 单词查询模块详细设计 23
4.3.4. 词库管理模块 24
4.4. 用户界面设计 26
4.4.1. Chrome浏览器翻译插件主界面设计 26
4.4.2. 词库管理界面 26
4.5. 数据库设计 26
4.5.1. 编写目的 27
4.5.2. 概念设计 27
4.5.3. 逻辑设计 28
4.5.4. 物理设计 28
第五章 系统实现 30
5.1. 用户界面 30
5.2. 屏幕取词模块实现 32
5.2.1. 百度API调用 32
5.2.2. 获取鼠标位置 34
5.3. 单词查询模块实现 34
5.4. 词库管理模块实现 36
5.4.1. 添加和修改功能的实现 36
5.4.2. 删除功能的实现 39
第六章 系统测试 41
6.1. 软件测试简介 41
6.2. 功能测试 41
6.3. 测试总结 49
第七章 总结与展望 50
参考文献 51
致谢 52
第三章 需求分析
3.1.项目名称
Chrome浏览器翻译插件系统开发。
3.2.可行性分析
3.2.1.1.技术可行性分析
本系统主要是对屏幕取词技术进行研究和实现,其重点为对于Windows API技术的使用和研究,针对Windows API技术,有着成熟的机制和技术流程。因此在技术操作是有着较高的可行性。
3.2.1.2.操作可行性分析
本系统采用可视化图形界面,对于用户,只需要具有基础性计算机知识即可轻松上手。而且整个系统采用最简洁明了的交互界面,简单的操作流程。因此,该系统的操作是可行的。
3.2.1.3.社会效益可行性分析
本系统的开发主要功能是为用户提供快捷方便的单词检索翻译模式。由于在日常生活中此类软件的使用率非常高,提供一个更好的操作模式将带来非常好的社会效益。因此,在社会效益方面,也是可行的。
该系统通过以上的可行性分析可知,Chrome浏览器翻译插件无论是在技术还是在社会效益等方面都是可行的。
3.3.界面需求
Chrome浏览器翻译插件是一个常用工具,所以在设计其界面的时候就要充分考虑到其美观性。而对于此类软件,简单明了的界面便是一个非常好的设计,如果让用户看到就不能接受的话,就很难有用户去使用。总结了以下界面的设计需求,主要有以下两点:
首先,要满足大众的审美需求。艺术是人类以感情和想象作为特性的把握世界的一种特殊方式,即通过审美创造活动再现现实和表现情感理想,在想象中实现审美主体和审美客体的互相对象化。具体说,他们是人们现实生活和精神世界的形象反映,也是艺术家知觉、情感、理想、意念综合心理活动的有机产物(1999年版《辞海》)。虽然只是工具类软件,如果不仅能需要满足人类基本审美的基本需求,而且能在一定程度上达到界面艺术化的效果的话,那么这个软件的价值就更显卓越了。
其次便是软件本身菜单设置的易理解性和易用性。作为工具类软件,其本身的特点就直接要求其菜单设置的简单明了,试想如果一个工具类软件用上复杂繁琐的菜单设置,用户要改变一个设置就要进行很多步骤的操作,那么这个软件的最终结局必然不会尽如人意。而一个简单明了的操作也是对于用户体验的一个良好保证。
3.4.功能需求
Chrome浏览器翻译插件,作为一个工具类软件,其最主要的需求便是实现即指即译的功能。通过对相关用户的调查访问,和对于课题的研究,得出以下具体功能需求:快速从屏幕获取文字信息;自动判断单词的正确性;根据提取的单词,在所连接的数据库中进行查找,然后通过界面显示出来;具有一定的词库管理功能,方便用户选择或者更新私有词库。
通过对用户需求定位,可以得出本系统需要包含以下具体功能模块:单词查询模块、屏幕取词模块、词库管理模块。如图3-1所示:
在这里插入图片描述

图3-1 系统模块结构图
各模块主要功能分析如下:
(1)单词查询模块:
单词查询模块是整个系统最重要的功能模块之一,主要实现英汉单词之间的互译,用户可以根据自己的需要查询单词的含义,从数据库中得到单词的基本信息。
(2)屏幕取词模块:
屏幕取词模块是本系统同的精髓,一切的功能都是围绕其展开的,主要实现从屏幕上获取文字信息,匹配单词,将结果传递给查询模块。屏幕取词的性能要求主要为:稳定、准确、快速。
(3)词库管理模块:
词库管理模块用来实现对单词的管理,它包括以下几项。
①添加单词:用户能够添加单词到词库。
②修改单词:用户能够修改所添加的单词。
③删除单词:用户能够删除所添加的单词。
④词库设置:选择不同的词库,浏览其中的单词。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>在线翻译</title><script src="./jquery.js"></script><style>#all{text-align: center;}.button-box{width: 250px;margin: 50px auto;}.button-box button{width: 200px;height: 40px;font-size: 18px;}#auto-pronunciation{margin-top: 5px;background-color: rgb(50, 226, 203);}#translate{background-color: #03A9F4;}#input, #output{width: 90%;font-size: 18px;margin-top: 10px;}@media screen and (max-width: 500px){#input, #output{padding: 10px;font-size: 16px;}#translate{left: calc(50% - 100px);}}</style>
</head>
<body><div id="all"><textarea id="input" autofocus cols="30" rows="6" placeholder="请输入你要翻译的内容:" ></textarea><textarea id="output" cols="30" rows="6"></textarea><div class="button-box"><button id="translate">翻译</button><button id="auto-pronunciation" >自动发音: 开</button></div></div><script src="./index.js"></script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/IKJVHQEi.shtml

相关文章

自定义一个Chrome翻译插件

做为一名程序员&#xff0c;难免要和各种英文文档打交道。然而大部分程序员的英文水平&#xff0c;只能用一个字来形容&#xff0c;那就是烂。我深知自己英语水平低下&#xff0c;需要一款翻译插件来治疗一下。网上的翻译插件有很多&#xff0c;但是这里是自己来定制一款属于自…

推荐!chrome翻译插件

极力推荐chrome翻译插件。沉浸式翻译。 chrome在线商店地址离线安装包地址 实用截图&#xff1a;

【实用工具】Chrome浏览器英文翻译插件推荐:Google翻译

最近浏览器崩溃不得不卸载重新安装&#xff0c;忘记备份插件数据&#xff0c;导致之前使用顺手的一款插件找不到了&#xff0c;今天又去寻了半天终于找到一款还算顺手的插件&#xff0c;只介绍一款&#xff0c;不介绍太多&#xff0c;重点是免费&#xff01;免费&#xff01;免…

Chrome网页翻译插件,实测超好用,万物皆可译

Chrome浏览器 话不多说&#xff0c;给大家推荐一个比较靠谱的网页翻译插件&#xff1a; 可可翻译 Windows 和 mac均可使用 &#xff0c;实测超好用&#xff01; 各位如果可以墙&#xff0c;还是建议使用Chrome 应用商店直接下载哈 安装 1. 下载插件 下载地址&#xff1a;…

chrome 浏览器在线翻译插件

介绍几款Chrome浏览器的在线鼠标取词和句子翻译的插件 一、bubble-translate &#xff08;支持单词、句子翻译&#xff09; 下载地址&#xff1a;http://code.google.com/p/bubble-translate/downloads/list 安装教程&#xff1a;http://www.freehao123.com/bubble-translat…

超级好用的谷歌浏览器页面翻译插件(Mac和Win系统通用)

下面是谷歌浏览器软件链接&#xff0c;也可以去谷歌应用商店去下载&#xff0c;按照下面的步骤进行操作即可~ 百度网盘链接&#xff1a;复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 链接&#xff1a;https://pan.baidu.com/s/1Mx0aZ-DwJveXXLMkT8eNWw 提取码…

【数据结构】之线性表(顺序存储结构)

博主声明&#xff1a; 转载请在开头附加本文链接及作者信息&#xff0c;并标记为转载。本文由博主 威威喵 原创&#xff0c;请多支持与指教。 本文首发于此 博主&#xff1a;威威喵 | 博客主页&#xff1a;https://blog.csdn.net/smile_running 线性表是《数据结构》课程最…

线性表顺序存储结构的基本实现

在上一篇博客中我们只是简单得了解了线性表的一些基本的概念。那么这一篇博客我们就来说说线性表的两种物理结构中的第一种—顺序存储结构。 一、顺序存储定义 线性表的顺序存储结构指的是用一段地址连续的存储单元依次线性表的数据元素。顺序存储的示意图如下&#xff1a; 二…

线性表之顺序存储结构与链式存储结构 及 应用

前言 我们常用的线性表是顺序存储结构和链式存储结构表示&#xff0c;是最基本、最简单、也是最常用的一种数据结构&#xff1b;一个线性表是由n个相同特性的数据的有限序列&#xff1b;比如java中的数组 &#xff0c;链表&#xff1b;所以学习这两种结构表示是非常必要的。 …

线性表的顺序存储结构及实现

线性表的顺序存储结构定义 一、线性表的介绍 线性表是最基本、最简单、也是最常用的一种数据结构。 线性表中数据元素之间的关系是一对一的关系&#xff0c;即除了第一个和最后一个数据元素之外&#xff0c;其它数据元素都是首尾相接的(注意&#xff0c;这句话只适用大部分线…

线性表顺序存储结构图书管理

线性表顺序存储结构图书管理 一开始看书里面的线性表的顺序存储结构&#xff0c;感觉简单&#xff0c;觉得动态链表才能做出一点东西&#xff0c;但是顺序存储不仅于此&#xff0c;也能做出来。顺序结构相比链式结构&#xff0c;内容上有较大差异&#xff0c;各有难点 文章目录…

C++实现线性表的顺序存储结构

C实现线性表的顺序存储结构 线性表是最基本、最简单、也是最常用的一种数据结构。线性表&#xff08;linear list&#xff09;是数据结构的一种&#xff0c;一个线性表是n个具有相同特性的数据元素的有限序列。 线性表的特点 除第一个元素外&#xff0c;其他每一个元素有且仅有…

顺序表(详解)- C++(线性表顺序存储结构)

问题引入 在数据结构中&#xff0c;线性表是一种很重要的线性结构。线性表分为多种类型&#xff0c;常见的如顺序表、链表等&#xff0c;如果此时此刻你对“顺序表&#xff08;顺序存储&#xff09;”感到困惑&#xff0c;那就继续看下去&#xff0c;我们一步一步去剖析。 如果…

顺序存储结构的线性表

1.0. 什么是线性表&#xff1f; 所谓线性&#xff0c;即一条线&#xff0c;这条线可以是直线&#xff0c;也可以是曲线。 所谓表&#xff0c;肯定都不陌生&#xff0c;生活中有各种各样的表或者表格。我们在表格中填写各种各样的信息&#xff0c;通过表格&#xff0c;能够很好…

数据结构线性表顺序存储结构和主要算法实现

(1) 线性表的定义。 零个或多个数据元素的有限序列 序列线性表中有直接后继元素&#xff0c;有且仅有一个直接后继&#xff0c;有且仅有一个直接前驱&#xff0c;数据元素之间的关系是一对一的关系 常用的List操作&#xff1a; Operation InitList&#xff08;*L&#xf…

线性表顺序存储结构

1.什么是线性表? 线性表可以看作一条链子除了第一个元素和最后一个元素&#xff0c;其他每个元素都有一个前驱 元素和一个后继元素有且只有一个。 若一个元素都没有&#xff0c;则称为空表。 元素之间的关系是一一对应的关系。(就比如a2的前驱元素只有一个并且一定是a1&#…

线性表的顺序存储结构

线性表的基本概念 线性结构习惯称为线性表&#xff0c;线性表是n(n>0)个数据元素构成的有限序列&#xff0c;表中除第一个元素外的每一个元素&#xff0c;有且只有一个一个前件&#xff1b;除最后一个元素外&#xff0c;有且只有一个后件。 非空数据表具有&#xff1a; 只…

【数据结构】线性表的顺序存储结构及实现——C语言版

文章目录 顺序表1. 顺序表的存储结构定义2. 顺序表的实现2.1 初始化顺序表2.2 建立顺序表2.3 销毁顺序表2.4 判空操作2.5 求顺序表的长度2.6 遍历操作2.7 按值查找2.8 按位查找2.9 插入操作2.10 删除操作 3. 顺序表的使用4. 暖暖树洞 顺序表 线性表的顺序存储结构称为顺序表&a…

VUE activated,deactivated使用

项目中keepalive用得不多&#xff0c;记录一下以免遗忘。 页面第一次进入&#xff0c;钩子的触发顺序created-> mounted-> activated&#xff0c;退出时触发deactivated。当再次进入&#xff08;前进或者后退&#xff09;时&#xff0c;只触发activated。 事件挂载的方…

vue activated,deactivated生命周期的使用

1.当组件在 内被切换&#xff0c;它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。 2.activated()&#xff1a;在vue对象存活的情况下&#xff0c;进入当前存在activated()函数的页面时&#xff0c;一进入页面就触发&#xff1b;可用于初始化页面数据等…