欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

小伙利用Python给女朋友编写了一个翻译doc文档的软件!

时间:2022-10-09 17:38:00 | 浏览:358

别人家的宝宝过生日,无非是鲜花、包包和红包什么的,可我是程序员诶,怎么可以这么俗套呢?那就写个小软件给宝宝用,给她减轻一点做事情的辛苦,每天都能贴心的呵护她。宝宝经常接触一些英文资料,免不了要进行翻译。而今,翻译这个活儿人工智能已经可以干个

别人家的宝宝过生日,无非是鲜花、包包和红包什么的,可我是程序员诶,怎么可以这么俗套呢?那就写个小软件给宝宝用,给她减轻一点做事情的辛苦,每天都能贴心的呵护她。

宝宝经常接触一些英文资料,免不了要进行翻译。而今,翻译这个活儿人工智能已经可以干个七七八八了,再辅助以人工校对就可以高质量的完成翻译工作。

于是,决定帮宝宝做人工智能翻译的活儿。借助谷歌翻译这个人工智能翻译机器来实现。我负责“人工”,宝宝负责“智能”。我把文本Ctrl+C、Ctrl+V到谷歌翻译,再Ctrl+C、Ctrl+V到Word,编辑好后给宝宝用她的智能去校对。

我可是程序员诶,怎么能做Ctrl+C、Ctrl+V的苦力活儿呢?那就用Python写个小软件来替我做苦力吧。说干就干!

一、翻译软件需求分析

输入为word文档(.docx),选择文档语言和翻译目标语言。

输出仍为word文档(.docx),以段落为单位,中英文对照,方便宝宝校对。如下图所示:

二、翻译软件设计实现

(1)人工智能翻译

基本上搜索引擎都提供了机器翻译的功能,国内的百度、搜狗、腾讯、有道等等,国外的谷歌等。除了网页版,还提供了API供开发者使用,但是API基本上都是收费的。所以还是用网页版的免费功能吧。这么多家到底哪家翻译技术强呢?肯定不是蓝翔。个人比较喜欢谷歌的,那就选Google的吧。正好谷歌中国的翻译功能访问起来是通畅的:

https://translate.google.cn/

方便的是,基于网页版的Google翻译已经有人做成了Python库:

googletrans

就是它了。

(2)人机界面

现在的软件都流行云服务,即处理运算都在服务器上,用户只需要浏览器打开一个网页操作,就是所谓的B/S架构。这样的好处是,软件修改升级都很方便。

然而,谷歌翻译的使用有频率限制,后面软件开源了,大家都通过我的服务器进行谷歌翻译,我的服务器很容易比谷歌服务器封杀。所以决定写成一个纯粹的PC版软件,用户的电脑直接访问翻译服务器。

Python写图形化界面(GUI)的库也有好几个,比较有名的是wxpython和pyqt。我对Qt早有耳闻,而且它在图形化界面领域地位很高,决定选择pyqt来写软件的图形化界面。

进一步了解,原来pyqt不是Qt官方写的,而是一个叫Riverbank Computing 的公司对C++编写的Qt的Python绑定,并且基于GPL协议发布的。GPL具有传染性,不是特别喜欢它。正好发现,Qt官方自己按照PyQt的接口自己写了一套Python绑定,起名为PySide,并以LGPL协议发布,这个协议友好多了。最新的PySide基于Qt 5,并起名PySide2,就选它了(哎,这是个坑啊,后面详解)。

但是我对Qt写界面完全不熟啊。不过我是谁啊,我可是程序员诶,这难不倒我。找来PySide2自带的example,从里面找个跟我需要类似的。我需要选择框(选语言用)、文件选择器(选要翻译的文档用)这两个。发现有个 findfiles.py 有点类似。就从它开始改…… 边学边改……. 终于成型了:

(3)功能实现

边学边写界面耗时很长,剩下的就简单多了。读取docx用python-docx库,翻译用前面说的googletrans,一气呵成。最后,把提示语言写到界面的文本区域时遇到点问题,还是Qt不熟悉造成的,继续学习,其实就是Qt的信号传递。大功告成,测试一下:

三、翻译软件发布

软件写好了,要交给宝宝使用。但是我没有信心教会宝宝从源代码运行这个程序。毕竟是宝宝嘛,能双击运行就可以啦。

于是用pyinstaller打包这个软件。一条命令完成,非常easy,生成一个可以单独运行的exe文件,双击运行没问题。作为老江湖,当然还要拿到其它机器上去测试一下下。纳尼?!报错了!!!把错误信息google一下,搜到的结果不多,而且是PyQt5的,没有PySide2的信息。为了这个错误,又耗费了几个小时,这就是坑啊。选择要慎重啊。

果断换成PyQt5,因为两者很相似改起来并不复杂,只是信号部分的名称不一样。换成PyQt5后,一切正常了。不过,作为一个程序员并不打算就此放过PySide2,有时间还是要搞定它的pyinstaller发布的,哼!

后记

这个小软件虽然小,但涉及的技术栈还不少,完全用Python完成:

Python 3.7:编程语言;

googletrans:谷歌翻译网页版接口;

PyQt5/PySide2:图形化界面库

小软件大功能,借助谷歌人工智能的强大力量,翻译质量有保证,几十种语言之间自由切换相互翻译,是居家生活、工作学习的必备良器。这么好的工具,当然不能给我家宝宝独享

相关资讯

零基础学Python:Python五种Python解释器分享给你

不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分

Python之父:Python4.0可能不会来了

机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题

python入门之python简介

一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据

最新的python,整整16个G,附零基础入门Python思维导图

思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:

什么是Python?为什么要学习Python?

第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python

Python:是!“用Python的,全是假程序员”!HR:太真实……

都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj

封神级Python开发核心知识点笔记!一篇带你学透Python

之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的

明年至少令Python提速2倍?Python之父给出爆料

去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu

Python入门教程:超详细1小时学会Python

小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引

想学习Python不知从何学起?一份超详细Python入门资料,干货满满

Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能

python入门基础教学,再不学python就晚了

经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字

学习Python你一定要知道的知识Python解释器的作用和分类有哪些

之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python

如何在PythonIDLE中查看Python中turtle库中所有方法及用法

在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这

7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱

用Python把你的朋友变成表情包

一、项目说明在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片。效果如下图所示:二、实现步骤导入朋友的照片(前景照片);处理前景照片(缩放、旋转,填充);导入熊猫头照

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈箭牌家居股票天文学知识大全三清山旅游攻略庐山旅游攻略速度与激情10影评网观赏鱼论坛网老白干酒股票网黑貂泳镜卡地亚腕表之家三峡人家旅游攻略重庆交友相亲网信阳毛尖官网郭富城歌迷网野生何首乌网肇庆新闻头条网
IDO钻戒-“I Do”——源自婚礼的誓言,代表着步入婚姻殿堂的爱侣对于爱情忠贞不渝的承诺,是最神圣的爱情宣言。一句“I Do”,结婚钻戒滑入无名指,自此以爱为名,相守一生。IDo钻戒给予消费者与众不同的体验,成就了I Do钻戒的标新立异和非凡价值。
IDO钻戒 cuiluju.cn ©2022-2028版权所有