自從開始接案以來,說實話錢沒賺多少,東西倒是學到不少。
今天要寫的,就是怎麼使用 Google Translate API 來做大量的翻譯。對於少量的翻譯,當然可以手動貼到 Google 翻譯即可。但當有幾百幾千句的時候就沒辦法這麼幹了,一方面是 Google 會阻擋大量使用的狀況,再來是貼來貼去很容易發生錯誤。
這時,就可以花點錢用 Google Cloud Translate API 來進行翻譯,收費的標準是 100萬字 20 美元。說貴不貴,說便宜也不是那麼便宜。看倌們可以試試,花點小錢看看合不合適了。
開通 Google Cloud 服務帳號
要使用 Google Translate API 的前置條件,當然是已經要啟用 Google Cloud 的服務帳號,我本身已經有在使用 GCP (Google Compute Platform) 的虛擬機來架設部落格,所以說當然這就不是問題。GCP 一開始有免費12個月的試用,加上300美元的服務抵免額,不妨可以試試看,應該是花不到錢才對。
申請服務API金鑰
當有了服務帳號,接下來就是要申請一組 Translate API Key,以用於使用服務時認証。首先開啟憑証申請網頁 ,並按下建立憑証,請選擇「請幫我選擇」。
接下來會詢問您要使用哪個 API,請選擇「Cloud Translation API」並且在是否準備搭配任何服務使用選擇「否」。
然後,會請您輸入服務的名稱,可依自己的專案取一個名字即可。而在角色的部份,則選擇「Cloud Translation API 使用者」,金鑰類型請選擇 JSON。按下繼續後,會提示您將金鑰檔案另存新檔,這邊假設將檔案儲存為 translate.json。
當返回主畫面後,就可以看到產生了一把服務金鑰,現在就可以使用程式利用 Google Translate API來進行翻譯了。
以 SCRIPT 進行大量翻譯
拿到金鑰後,這邊我們準備使用 Ubuntu Linux 18.04 ,以 Python 進行測試。官方的說明文件還有 Windows 或 MAC,可以參考這裡。
首先將剛申請到的金鑰,複製到 Linux 內的使用者的 $HOME 目錄下 (~/translate.json)。然後執行以下命令,以安裝所需 python 套件
1 2 |
sudo apt-get -y install python-pip pip install --upgrade google-cloud-translate |
然後將下列程式碼,存檔成 trans.py。這個檔案是設定翻譯繁體中文–>英文,使用者可以修改裡面的 “source” 和 “target” 來變更要翻譯的語言。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Imports the Google Cloud client library import os import sys from google.cloud import translate if len(sys.argv) < 2: print "Need one arg" # Instantiates a client translate_client = translate.Client() # The text to translate text = sys.argv[1] # The target language source = 'zh-TW' target = 'en' # Translates some text into Russian translation = translate_client.translate( text, source_language=source, target_language=target) print(translation['translatedText']) |
開始翻譯
要開始使用 trans.py 進行翻譯前,要設定環境變數,以指定 API Key 的位置。
1 |
export GOOGLE_APPLICATION_CREDENTIALS=$HOME/translate.json |
接著就可以 trans.py 進行翻譯了。
結語
Google translate 算是相當不錯的翻譯功能,雖然還不是盡善盡美,但至少翻出來的東西都還看的懂。在要求精確度不高的環境下,可以做不錯的應用。像有些遊戲可以讓多國玩家可以進行聊天,我想也是靠著 Google 翻譯的功能吧!
Latest Comments