1. 程式人生 > >50 行程式碼,實現中英文翻譯

50 行程式碼,實現中英文翻譯

50 行程式碼,實現中英文翻譯

閱讀文字大概需要 4.2 分鐘。

現在的時代,越來越看重英語能力。如果你懂得英語,你會接觸到更大的世界,你會發現更多的資訊。尤其是對於程式設計師來說,好的程式設計資料都是來自英文文件。那些國內的翻譯的版本,有很多內容跟原版相差的太多,甚至牛頭不對馬嘴。

雖然現在有非常多的翻譯軟體,但通過自己動手寫個 python 小程式,是非常的有成就感。甚至你藉助今天的程式碼,也可以自己開發個小型翻譯軟體。

進群進群:700341555可以獲取Python各類入門學習資料!

這是我的微信公眾號【Python程式設計之家】各位大佬用空可以關注下,每天更新Python學習方法,感謝!

111111111111.png

 

有道詞典介面

今天的翻譯程式是借用有道翻譯的介面來實現的。程式的邏輯很簡單,就是利用有道翻譯 ,把需要翻譯的內容做為引數,傳到相應的 url 裡。然後通過有道的伺服器返回一個 json 資料,我們就可以獲得相應的翻譯結果。

程式呼叫結果

啟動程式在終端輸入你想要翻譯的內容,可以中譯英,也可以英譯中。比如輸入「Koc 最帥!」。

50 行程式碼,實現中英文翻譯

相應的輸入英文也可以翻譯成中文。

50 行程式碼,實現中英文翻譯

程式程式碼

程式程式碼很簡單,在相應的程式碼裡我都有註釋。

import json

import requests

翻譯函式,word 需要翻譯的內容

def translate(word):

有道詞典 api

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'

傳輸的引數,其中 i 為需要翻譯的內容

key = {

'type': "AUTO",

'i': word,

"doctype": "json",

"version": "2.1",

"keyfrom": "fanyi.web",

"ue": "UTF-8",

"action": "FY_BY_CLICKBUTTON",

"typoResult": "true"

}

key 這個字典為傳送給有道詞典伺服器的內容

response = requests.post(url, data=key)

判斷伺服器是否相應成功

if response.status_code == 200:

然後相應的結果

return response.text

else:

print("有道詞典呼叫失敗")

相應失敗就返回空

return None

def get_reuslt(repsonse):

通過 json.loads 把返回的結果載入成 json 格式

result = json.loads(repsonse)

print ("輸入的詞為:%s" % result['translateResult'][0][0]['src'])

print ("翻譯結果為:%s" % result['translateResult'][0][0]['tgt'])

def main():

print("本程式呼叫有道詞典的API進行翻譯,可達到以下效果:")

print("外文-->中文")

print("中文-->英文")

word = input('請輸入你想要翻譯的詞或句:')

list_trans = translate(word)

get_reuslt(list_trans)

if name == 'main':

main()