当前位置 博文首页 > python做翻译软件详解,小白也看得明白

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

    作者:弈鸣敲代码 时间:2021-09-12 18:28

    目录
    • 前言
    • 一、需要的库
    • 二、分析处理
      • 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()
      
      

      总结

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

      jsjbwy
      下一篇:没有了