python做翻译软件详解,小白也看得明白

目录
  • 前言
  • 一、需要的库
  • 二、分析处理
    • 1.步骤
    • 2.思路
  • 三.代码的实现
    • 1.翻译部分
    • 2.图形界面代码
    • 3.整合
  • 总结

前言

对于我这种英语比较差的人来说,无论是敲代码还是看文档,
那都是离不开翻译软件的,于是我想自己用python做一个翻译软件,
花了一个小时,终于做了出来了,支持各种语言的翻译

一、需要的库

translate:

谷歌翻译的第三方包,可以实现多种语言之间的相互翻译。

tkinter:

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

没有安装的话,复制下面的命令,直接安装

pip install translate
pip install tkinter

二、分析处理

1.步骤

要实现翻译软件,需要完成两样东西:
1.翻译过程的代码实现
2.图形界面代码的实现

2.思路

我的思路是先整体完成翻译的代码,然后再结合图形界面的代码重新整合,开搞!

三.代码的实现

1.翻译部分

翻译部分的代码:

from translate import Translator

lang1=input("想翻译的语言:")
lang2=input("翻译为: ")
trans_all=Translator(from_lang = lang1.capitalize(), to_lang=lang2.capitalize())

text=input("需要翻译的文本")
text_to=trans_all.translate(text)

print(text_to)

展示一手:

这部分完成后我们来完成图形界面

2.图形界面代码

这是我设置的界面的大小:

图形界面初始化:

# 初始化,画布大小
root = Tk()
root.geometry('340x540')

# 输入语言提示
lb1 = Label(root, text="language  "  "\t""-->" "\t" + "   language")
lb1.place(relx=0.1, rely=0.05, relwidth=0.8, relheight=0.05)

# 第一个语言输入框
inp1 = Entry(root)
inp1.place(relx=0.1, rely=0.1, relwidth=0.3, relheight=0.1)

# 第二个语言输入框
inp2 = Entry(root)
inp2.place(relx=0.6, rely=0.1, relwidth=0.3, relheight=0.1)

效果如下:

有强迫症的我,在这个地方调了好久好久…最后终于对称了…心累

然后完成翻译按钮和文本的输入,输出框

# 调用翻译

# 文字提示
lb2 = Label(root, text="输入需要翻译的文本")
lb2.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.05)

# 输入需要翻译的文本
inp3 = Entry(root)
inp3.place(relx=0.1, rely=0.35, relwidth=0.8, relheight=0.15)

# 翻译按钮
btn1 = Button(root, text='翻译', command=translate_to)
btn1.place(relx=0.4, rely=0.5, relwidth=0.2, relheight=0.1)

# 翻译的结果
txt = Text(root)
txt.place(rely=0.7, relheight=0.2)

root.mainloop()

最后呈现的效果:

到这里他只是一个躯壳,还没有灵魂,接下来,我们为他注入灵魂。

3.整合

将翻译的代码一起整合后,终于大功告成

先上效果展示,再上代码:

ohhhhh完美!!

代码:

from translate import Translator
from tkinter import *

def translate_to():
    lang1 = inp1.get()  # 被翻译的语言
    lang2 = inp2.get()  # 翻译出的语言
    from_to = Translator(from_lang=lang1.capitalize(), to_lang=lang2.capitalize())
    text = inp3.get()  # 得到输入框的文本
    ans = from_to.translate(text)  # 执行翻译
    txt.insert(END, ans)  # 将翻译的结果给到文本框txt
    inp3.delete(0, END)  # 清空输入框

# 初始化,画布大小
root = Tk()
root.geometry('340x540')

# 输入语言提示
lb1 = Label(root, text="language  "  "\t""-->" "\t" + "   language")
lb1.place(relx=0.1, rely=0.05, relwidth=0.8, relheight=0.05)

# 第一个语言输入框
inp1 = Entry(root)
inp1.place(relx=0.1, rely=0.1, relwidth=0.3, relheight=0.1)

# 第二个语言输入框
inp2 = Entry(root)
inp2.place(relx=0.6, rely=0.1, relwidth=0.3, relheight=0.1)

# 调用翻译

# 文字提示
lb2 = Label(root, text="输入需要翻译的文本")
lb2.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.05)

# 输入需要翻译的文本
inp3 = Entry(root)
inp3.place(relx=0.1, rely=0.35, relwidth=0.8, relheight=0.15)

# 翻译按钮
btn1 = Button(root, text='翻译', command=translate_to)
btn1.place(relx=0.4, rely=0.5, relwidth=0.2, relheight=0.1)

# 翻译的结果
txt = Text(root)
txt.place(rely=0.7, relheight=0.2)

root.mainloop()

总结

这个小软件或许不是很高大上,
但是每一种尝试和发现,都能成为我进步的阶梯
结果是看客们茶余饭后的谈资
过程是亲历者经年留影的宝藏
如果喜欢的话,给个关注和点赞吧

到此这篇关于python做翻译软件详解,小白也看得明白的文章就介绍到这了,更多相关python翻译软件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用python开发一款操作MySQL的小工具

    项目地址 https://github.com/lishukan/directsql 安装 pip3 install directsql 导入 directsql 目前只提供三个外部类 __all__=["SqlGenerator","MysqlConnection","MysqlPool"] 导入方式 from directsql.sqlgenerator import SqlGenerator #该类用于生成sql语句 #下面是一个池化连接对

  • python 实现的截屏工具

    项目地址 https://github.com/fandesfyf/Jamscreenshot 功能概述 新增了透视裁剪工具(类似于PS里的用法).多边形截图工具.取色器工具.油漆桶工具.背景还原画笔(配合背景橡皮擦使用).支持回退10步操作历史记录.新增一键还原按钮.新增智能选框的开关.画笔等增加透明度支持,在画笔/标记时可以通过按住ctrl键+滚轮快速调整画笔透明度,新增常用颜色到取色按钮(鼠标划过即可显示).固定截屏在屏幕上时可以通过按住ctrl+滚轮快速调节截屏的透明度 效果图 加了一个

  • 新手必备的Python实用技巧和工具

    一.交换变量 x = 6 y = 5 x, y = y, x print x >>> 5 print y >>> 6 二.if 语句在行内 print "Hello" if True else "World" >>> Hello 三.连接 下面的最后一种方式在绑定两个不同类型的对象时显得很cool. nfc = ["Packers", "49ers"] afc = [&qu

  • Python编写打字训练小程序

    你眼中的程序猿 别人眼中的程序猿,是什么样子?打字如飞,各种炫酷的页面切换,一个个好似黑客般的网站破解.可现实呢? 二指禅的敲键盘,写一行代码,查半天百度-那么如何能让我们从外表上变得更像一个程序猿呢?当然是训练我们的打字速度了啊! 训练打字 很羡慕那些盲打速度炒鸡快的人,看起来就比较炫酷.但很多IT男打字速度并不快,甚至还有些二指禅的朋友们,太影响装13效果了.那么今天我们就来使用Python写一个打字训练的小工具吧.先来看看使用效果- 我们使用Python内置的GUI模块Tkinter来编写

  • 使用Python制作一个打字训练小工具

    一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码. 然而现实中的程序员呢?对于很多程序员来说,没有百度和 Google 解决不了的问题,也没有 ctrl + c 和 ctrl + v 实现不了的功能. 那么身为一个程序员,要怎么让自己看起来更加"专业"呢?答案就是加快自己的打字速度了,敲的代码可能是错的,但这个13却是必须装的! 然而还

  • python调试工具Birdseye的使用教程

    Birdseye是一个Python调试器,它在函数调用中记录表达式的值,并让你在函数退出后轻松查看它们,例如: 无论你如何运行或编辑代码,都可以使用Birdseye.只需要你安装好依赖: pip install birdseye 并在代码函数上方添加  @eye  装饰器(如上动图所示),即可根据需要运行函数,并在浏览器中查看结果. 它还可以与一些常用工具集成在一起,如 Pycharm 和 Vscode,以提供更流畅的体验,后续我们会介绍如何将其与这些工具结合使用. 它不仅仅能够单步执行,还能在

  • Python包管理工具pip的15 个使用小技巧

    认识pip 众所周知,pip可以对python的第三方库进行安装.更新.卸载等操作,十分方便. pip的全称:package installer for python,也就是Python包管理工具. 可能有些人用了很久pip,但还不清楚包管理工具是个啥. 我们先从Python这门语言说起,Python之所以受欢迎不光是因为它简单易学,更重要的是它有成千上万的宝藏库. 这些库相当于是已经集成好的工具,只要安装就能在Python里使用.它们可以处理各式各样的问题,无需你再造轮子,而且随着社区的不断更

  • 用Python实现一个打字速度测试工具来测试你的手速

    一.程序解读 本次程序中,我们使用的python库完全是python的内置库,其中界面的制作是利用tkinter进行制作.核心程序可以分为三个部分,分别为: 文本显示 文本的输入检查 结果计算和显示 二.文本内容的显示 在程序初始运行阶段和点击"切换文本"按钮后,都需要在软件的界面中显示文本,其程序如下图所示. 程序中self.Reset函数的作用是将界面中的内容全部重置,设置为初始值,当我们在界面中点击"重置"按钮或者是初次运行程序时都会调用self.Reset函

  • python 制作一个gui界面的翻译工具

    一.准备工作 除了Tkinter,还需要google_trans_new,没有安装这个库的朋友,可以使用 pip install google_trans_new 安装一下. 二.预览 1.主界面 2.翻译 3.支持多种语言哦 三.源代码 设计流程很简单,这里就直接贴代码了 3.1 My_Translator-v2.0.py from tkinter import * from tkinter import messagebox from tkinter import ttk import py

  • Python超简单容易上手的画图工具库推荐

    今天,在网上发现一款很棒的python画图工具库.很简单的api调用就能生成漂亮的图表.并且可以进行一些互动. pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒.废话不多说下来直接看效果(对于我这种没审美感的人来是我觉得挺漂亮的). 使用之前需要安装一下:安装命令很简单:Pip就可以安装: 这里我安装在我的虚拟环境中了:pip install pyecharts . 官方的文档和de

随机推荐