Google Çeviri (Translate) API’sinin Python ile Kullanımı ve Pandas Uygulaması

Yiğit Şener
2 min readMay 8, 2020

--

Muhtemelen Google Çeviri’yi hayatınızda birçok kez kullandınız. Bir kelimeyi veya cümleyi belirli bir dilden diğerine çevirmeye çalıştığınızda, size arka planda istenen sonuçları getiren Google Translate API’sıdır. Google Çeviri (Translate) API’sini kendi yazılım projenize, web uygulamanıza veya masaüstü programınıza kolayca entegre edebilirsiniz.

Bu yazımda Python üzerinden Google Traslate API’nin nasıl kullanıldığından bahsetmekteyim. Ayrıca çevrilen verilerin Pandas Data Frame üzerinde nasıl gösterildiğine de değinmekteyim.

Öncelikle Python üzerinde API’nin kullanımı için “googletrans” kütüphanesini pip ile terminal üzerinden kuralım. Bu paketin sağladığı özellikleri buradan inceleyebilirsiniz.

pip install googletrans

Googletrans ve Pandas kütüphanelerini kurup çeviri API’sinin testini yapalım. Ardından örnek olarak desteklenen dilleri getirelim.

import googletrans
from googletrans import Translator
import pandas as pd
# Desteklenen dil sayısı
print(len(googletrans.LANGUAGES))
# Çıktı: 106
# Desteklenen dillere ulaşım
print(googletrans.LANGUAGES)
# Çıktı(bir bölümü):{'af': 'afrikaans', 'sq': 'albanian', 'am': 'amharic', 'ar': 'arabic', 'hy': 'armenian', 'az': 'azerbaijani', 'eu': 'basque', 'be': 'belarusian', 'tr': 'turkish'}

Googletrans kütüphanesinin altında yer alan Translator objesi ile çeviri işlemlerini yapıyoruz. Bu obje içerisine konumuz çeviri olduğu için zorunlu olarak bir string ifade (cümle/sözcük) vermek durumundayız. API bu string ifadenin hangi dile ait olduğunu otomatik olarak algılamakta ve eğer çevrilecek dili belirtmez ise otomatik olarak (default) İngilizce diline çevirmektedir.

translator = Translator()
sentence = "Olmak ya da olmamak"
example = translator.translate(sentence)

print(example.src)
"tr" # orjinal dil

print(example.dest)
"en" # çevrilen dil

print(example.origin)
"Olmak ya da olmamak"

print(example.text)
"To be or not to be"

print(example.pronunciation)
"To be or not to be"

Tam tersini yapıp İngilizce olan bir cümleyi Türkçeye çevirelim.

sentence = """I think ordinary people may also be extraordinary."""

example = translator.translate(sentence,dest="tr")
print(example.text)
# ÇIKTI:
#
Ben sıradan insanların da olağanüstü olabileceğini düşünüyorum.

Bir liste içerisinde yer alan kelimeleri çevirelim.

words_tr = ['Mandalina',"Badem","Elma","Kirpi","Kumsal","Maden"]
words_en = []
for word in words_tr:
words_en.append(translator.translate(word,dest="en").text)
print(words_en)
# ['Mandarin', 'Almond', 'Apple', 'Hedgehog', 'Beach', 'Mine']

Türkçe verilen sözcük listesini bir Pandas Data Frame (tablo) yapısına alarak yanındaki kolonlara 7 dildeki karşılığını ekleyelim

Bu kodun sonunda aşağıdaki gibi bir tablo (Data Frame) oluşmaktadır.

Sonuç

Görüldüğü üzere bu API’nin kullanımı ve entegrasyonu oldukça kolaydır. Birçok proje için rahatlıkla kullanılabilir ancak response konusunda biraz timeline sorunu yaşanabilir.

--

--