python做翻譯軟件詳解,小白也看得明白

前言

對於我這種英語比較差的人來說,無論是敲代碼還是看文檔,
那都是離不開翻譯軟件的,於是我想自己用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翻譯軟件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: