Google Translate.

Google Translate มีเครื่องมือให้นักพัฒนานำความสามารถไปใช้กับโปรแกรมภายนอก ผ่านโมดูล googletrans เป็นโมดูลที่นำ Google Translate มาใช้งานร่วมกับ Python

  • Document:
  • install: pip install googletrans
  • install: conda install -c conda-forge googletrans


from IPython.display import YouTubeVideo
YouTubeVideo('9tR1aqQEwGY', width=720, height=405)
from googletrans import Translator
import pandas as pd

# pandas display options
pd.set_option('display.max_rows', 100)

dlang = pd.read_csv('https://github.com/prasertcbs/basic-dataset/raw/master/google_translate_language_code.csv')
dlang
language code
0 Afrikaans af
1 Irish ga
2 Albanian sq
3 Italian it
4 Arabic ar
5 Japanese ja
6 Azerbaijani az
7 Kannada kn
8 Basque eu
9 Korean ko
10 Bengali bn
11 Latin la
12 Belarusian be
13 Latvian lv
14 Bulgarian bg
15 Lithuanian lt
16 Catalan ca
17 Macedonian mk
18 Chinese Simplified zh-CN
19 Malay ms
20 Chinese Traditional zh-TW
21 Maltese mt
22 Croatian hr
23 Norwegian no
24 Czech cs
25 Persian fa
26 Danish da
27 Polish pl
28 Dutch nl
29 Portuguese pt
30 English en
31 Romanian ro
32 Esperanto eo
33 Russian ru
34 Estonian et
35 Serbian sr
36 Filipino tl
37 Slovak sk
38 Finnish fi
39 Slovenian sl
40 French fr
41 Spanish es
42 Galician gl
43 Swahili sw
44 Georgian ka
45 Swedish sv
46 German de
47 Tamil ta
48 Greek el
49 Telugu te
50 Gujarati gu
51 Thai th
52 Haitian Creole ht
53 Turkish tr
54 Hebrew iw
55 Ukrainian uk
56 Hindi hi
57 Urdu ur
58 Hungarian hu
59 Vietnamese vi
60 Icelandic is
61 Welsh cy
62 Indonesian id
63 Yiddish yi
translator = Translator() # create object/instance from Translator class
r=translator.translate('สวัสดี', dest='ja', src='th')
print(f'{r.text}: {r.pronunciation}')

こんにちは!: Kon’nichiwa!

r=translator.translate('こんにちは', dest='ko')
print(f'{r.text}: {r.pronunciation}')
안녕하세요: annyeonghaseyo
r=translator.translate('안녕하세요', dest='th')
print(f'{r.text}: {r.pronunciation}')
สวัสดี: S̄wạs̄dī
r=translator.translate("life is beautiful", dest='th')
r.text
'ชีวิตช่างสวยงาม'
r=translator.translate("life is beautiful", dest='it')
r.text
'la vita è bella'
r=translator.translate("ฉันรักคุณ", dest='ja')
print(f'{r.text}: {r.pronunciation}')
わたしは、あなたを愛しています: Watashi wa, anata o aishiteimasu
r=translator.translate('わたしは、あなたを愛しています', dest='th')
print(f'{r.text}: {r.pronunciation}')
ฉันรักคุณ: C̄hạn rạk khuṇ
words=['water', 'toilet', 'thank you']
translations = translator.translate(words, dest='th')
for t in translations:
    print(f'{t.origin} -> {t.text} ({t.pronunciation})')
 water -> น้ำ (N̂ả)
toilet -> ห้องน้ำ (H̄̂xngn̂ả)
thank you -> ขอบคุณ (None)
words=['hello', 'thank you', 'water', 'toilet', 'thank you', 'egg tart', 'muffin', 'green tea']

for w in words:
    for lang in ['th', 'ja', 'de']:
        t=translator.translate(w, dest=lang)
        print(f'{w} -> {t.text} ({t.pronunciation})')
  hello -> สวัสดี (S̄wạs̄dī)
  hello -> こんにちは (Kon'nichiwa)
  hello -> Hallo (None)
  thank you -> ขอบคุณ (None)
  thank you -> ありがとうございました (None)
  thank you -> Vielen Dank (thank you)
  water -> น้ำ (N̂ả)
  water -> 水 (Mizu)
  water -> Wasser (None)
  toilet -> トイレ (Toire)
  toilet -> Toilette (None)
  thank you -> ขอบคุณ (None)
  thank you -> ありがとうございました (None)
  thank you -> Vielen Dank (thank you)
  egg tart -> ทาร์ตไข่ (None)
  egg tart -> エッグタルト (None)
  egg tart -> Eitörtchen (egg tart)
  muffin -> มัฟฟิน (Mạffin)
  muffin -> マフィン (Mafin)
   muffin -> Muffin (None)
  green tea -> ชาเขียว (None)
  green tea -> 緑茶 (None)
  green tea -> grüner Tee (green tea)
words=['สวัสดี', 'ขอบคุณ', 'ข้าว', 'น้ำ', 'ชา', 'กาแฟ']

for w in words:
    for lang in ['en', 'ja', 'fr']:
        t=translator.translate(w, dest=lang)
        print(f'{w} -> {t.text} | {t.pronunciation} ({lang})')
สวัสดี -> Hello! | None (en)
สวัสดี -> こんにちは! | Kon'nichiwa! (ja)
สวัสดี -> salut! | None (fr)
ขอบคุณ -> thank | None (en)
ขอบคุณ -> 感謝 | Kansha (ja)
ขอบคุณ -> remercier | None (fr)
ข้าว -> rice | None (en)
ข้าว -> ご飯 | Gohan (ja)
ข้าว -> riz | None (fr)
น้ำ -> water | None (en)
น้ำ -> 水 | Mizu (ja)
น้ำ -> l'eau | None (fr)
ชา -> tea | None (en)
ชา -> お茶 | Ocha (ja)
ชา -> thé | None (fr)
กาแฟ -> coffee | None (en)
กาแฟ -> コーヒー | Kōhī (ja)
กาแฟ -> café | None (fr)

translate and save to CSV, Excel

words=['สวัสดี', 'ขอบคุณ', 'ข้าว', 'น้ำ', 'ชา', 'กาแฟ', 'โรงแรม', 'ห้องน้ำ', 'สนามบิน', 'ร้านอาหาร']
df=pd.DataFrame(words, columns=['th'])
df
th
0 สวัสดี
1 ขอบคุณ
2 ข้าว
3 น้ำ
4 ชา
5 กาแฟ
6 โรงแรม
7 ห้องน้ำ
8 สนามบิน
9 ร้านอาหาร
df.to_csv('basic_th.csv', index=False)
df = pd.read_csv('basic_th.csv')
df
th
0 สวัสดี
1 ขอบคุณ
2 ข้าว
3 น้ำ
4 ชา
5 กาแฟ
6 โรงแรม
7 ห้องน้ำ
8 สนามบิน
9 ร้านอาหาร
lang=['en', 'la', 'fr', 'ja', 'zh-CN', 'fa']
for dest in lang:
    df[dest]=df.apply(lambda r: translator.translate(r['th'], dest=dest).text, axis=1)
df
th en la fr ja zh-CN fa
0 สวัสดี Hello! Salve! salut! こんにちは! 你好! سلام!
1 ขอบคุณ thank gratias ago remercier 感謝 谢谢 تشکر
2 ข้าว rice rice riz ご飯 白饭 برنج
3 น้ำ water aqua l'eau اب
4 ชา tea tea thé お茶 چای
5 กาแฟ coffee capulus café コーヒー 咖啡 قهوه
6 โรงแรม hotel deversorium Hôtel ホテル 旅馆 هتل
7 ห้องน้ำ toilet CULTUS toilette トイレ 厕所 توالت
8 สนามบิน airport aeroportus aéroport 空港 飞机场 فرودگاه
9 ร้านอาหาร Restaurant popina Restaurant 飲食店 餐厅 رستوران
df.to_csv('translation.csv', index=False)
df.to_excel('translation.xlsx', index=False)

อีกหนึ่งตัวอย่างการนำไปใช้งาน

‘’’
Create By Joompot Sriyapan
Date 29/3/2019
Name
  Google Translate Example 1
Description
  แปลภาษาอังกฤษเป็นไทยด้วย Python
Required
  python 3.7.3
  googletrans 2.4.0
Pre-programmed
  pip install googletrans
‘’’
from googletrans import Translator
T = Translator()
source = “Hello, world”
try:
  dest = T.translate(source,src=”en”,dest=”th”).text
  print(dest)
except:
  print (“Error!!!”)

Reference : - https://medium.com/@JoTaijiquan/google-translate-with-python-2b4db669f6fa


goslate

ิอีกโมดูลหนึ่งคือ goslate เป็นโมดูลที่นำ Google Translate มาใช้งานร่วมกับ Python รองรับทั้ง Python 2 และ Python 3 (License: MIT) https://pypi.python.org/pypi/goslate

สามารถติดตั้งได้ง่าย ๆ โดยใช้คำสั่ง pip ดังนี้ครับ

pip install goslate

ในการใช้งานสามารถใช้งานได้ง่าย ๆ ดังนี้ครับ

gs.translate(‘ข้อความ’, ‘รหัสภาษา เช่น en คือ ภาษาอังกฤษ th คือ ภาษาไทย’)

ตัวอย่าง

>>> import goslate
>>> gs = goslate.Goslate()
>>> print(gs.translate('hello world', 'th')) #
สวัสดีชาวโลก
>>> print(gs.translate('สวัสดีชาวโลก', 'en'))
Hello world!

ตัวอย่างการนำไปประยุกต์ใช้

นำโมดูล SpeechRecognition มาใช้รับเสียงจากชาวต่างชาติ แล้วใช้โมดูล goslate มาแปลเป็นข้อความภาษาไทย

import goslate
import speech_recognition as sr
gs = goslate.Goslate()
r = sr.Recognizer()
with sr.Microphone() as source:                # เรียกใช้  Microphone พื้นฐานของระบบ
    audio = r.listen(source)                   # รับเสียงเข้ามาแล้วประมวลผลส่งไปยัง Google Speech Recognition API
try:
    a = r.recognize(audio)
    b = gs.translate(a, 'th')     # แสดงข้อความจากเสียงด้วย Google Speech Recognition
    print(b)
except LookupError:                            # ประมวลผลแล้วไม่รู้จักหรือเข้าใจเสียง
        print("Could not understand audio")

Reference : https://python3.wannaphong.com/2015/01/python.html

Little Dragon
Professor of Artificial Intelligence

My research interests include distributed robotics, mobile computing and programmable matter.