0

Project Python Google Translate – Program ini merupakan program Translate Bahasa yang memanfaatkan Layanan Google Translate yang diambil fungsi translatenya kemudian di terapkan pada Python Programming.

Program ini ada 2 file berupa:

1. Translate.py ( merupakan programnya )
2. id_country.txt ( merupakan database ID Negara dan Nama Negara )

/*******************************
Credit By : http://python.web.id
Author    : Agus Makmun (Summon Agus)
Name      : Python Google Translate.
Powered   : Python
Licence   : GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
Tanks to  : Kamyar Ghasemlou ( for adding tab file ).
********************************/

Untuk File lengkapnya bisa langsung bisa dilihat di github:
https://github.com/agusmakmun/Python-Google-Translate/

Cara Kerja:

Untuk cara kerjanya sendiri, jadi kita mengambil hasil result dari Google Translate ketika kita inputkan data tertentu untuk kemudian di translate ke bahasa yang kita inginkan.
Dan module yang kita gunakan adalah module urllib2 untuk mengakses ke Internet.

Pengambilan ID Country dan Name Country

Disini kami sedikit mengakali bagaimana caranya agar mendapatkan ID dan Nama Negara saja dengan menggunakan Python, karena untuk keperluar tampilan ID dan Nama Negaranya di Program yang kita buat.

import urllib2
url = 'https://translate.google.com/m?mui=tl'
agent = {'User-Agent':'Mozilla/5.0'}
cari_hasil = 'div class="small">'
end_tag = 'div class="small center">'
request = urllib2.Request(url, headers=agent)
page = urllib2.urlopen(request).read()
result = page[page.find(cari_hasil)+len(cari_hasil):]
res = result.replace('<br>', '').replace('Send us feedback', '').replace('in:<b>Mobile</b>', '')

operasi = res.split()

count = 0
while True:
    try:
        count += 1
        spl = operasi[count].split()
        y = spl
        for s in y:
            repp = s.replace('</a><a', '').replace('href="http://translate.google.com/m?tl=', '').replace('">', '')            
            kode = repp[:2]
            negara = repp[2:].replace('</a></div><div', '')

            if negara >= 'ass="small':
                break
            print kode, negara

    except IndexError:
        break

Dari script diatas, data yang kita dapatkan hasilnya adalah seperti ini..

af Afrikaans
sq Albanian
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ny Chichewa
zh -CNChinese
zh -TWChinese
hr Croatian
cs Czech
da Danish
.....etc

Masalah yang dihadapi:
Dari situ kita sudah mendapatkan data dengan ID dan Name Country, namun yang menjadi masalah adalah pada bagian data zh -CNChinese dan zh -TWChinese yang seharusnya ID-nya adalah zh-CN dan zh-TW(tanpa spasi).

Itu sebabnya mengapa kita membuat Database baru yang bernama id_country.txt, sebenarnya tanpa ini kita juga sudah bisa memanfaatkan Python Google Translate ini. Namun untuk mempermudah user dengan adanya tampilan data dari ID dan Name Country, sehingga tidak bingung ketika ingin memasukkan IDpada bahasa yang mereka tidak kenal.

Didalam id_country.txt sendiri jika memang datanya seperti pada zh -CNChinese dan zh -TWChinesedengan menggunakan spasi, seperti yang ada pada data diatas, kami juga telah mengutiknya dengan membuatkan program seperti ini:

import UserString

f = open('id_country.txt', 'r')
count_me = 0
lines = f.readlines()
for i in lines:
    count_me += 1
    if i[3] == '-':
        depan = i[:2] + i[3:6]
        belakang = UserString.MutableString(i).replace('\n', '')
        del belakang[:6]
        print depan,'\t', belakang            

    else:
        print i[:2], '\t', i[3:].replace('\n', '')

Dan akan menghasilkan seperti ini (dengan tab):

af     Afrikaans
sq  Albanian
ar  Arabic
hy  Armenian
az  Azerbaijani
eu  Basque
be  Belarusian
bn  Bengali
bs  Bosnian
bg  Bulgarian
ca  Catalan
ny  Chichewa
zh-CN   Chinese
zh-TW   Chinese
hr  Croatian
cs  Czech
da  Danish
.....etc

Dengan adanya tampilan yang demikian, maka muncul kendala lagi, yaitu akan memboroskan tampilan layar, oleh sebab itu alhamdulillah dengan bantuan dari forum stackoverflow oleh jawaban _Kamyar Ghasemlou_terjawab dengan menambahkan tab baru dengan panjang dari data yang dibagi 2, dan tampilan yang setelahnya menambah tab baru (hal ini akan lebih meminimalisir tampilan dari layar).

Kemudian kita kembangkan lagi menjadi 3 tab dengan script berikut ini:

f = open('id_country.txt','r')
lines = f.readlines()
panjang = len(lines)

for i in range(panjang/3):
    print lines[i].replace('\n', ''),'\t', lines[i + panjang/2].replace('\n', ''),'\t', lines[i + panjang/3].replace('\n', '')
if panjang%2: #if it is odd
    print lines[-1].replace('\n', '')

Yang pada hasil endingnya adalah menjadi seperti ini:

af Afrikaans   ko Korean   ht Haitian
sq Albanian     lo Lao      ha Hausa
ar Arabic   la Latin    iw Hebrew
hy Armenian     lv Latvian  hi Hindi
az Azerbaijani  lt Lithuanian   hu Hungarian
eu Basque   mk Macedonian   is Icelandic
be Belarusian   mg Malagasy     ig Igbo
bn Bengali  ms Malay    id Indonesian
bs Bosnian  ml Malayalam    ga Irish
bg Bulgarian    mt Maltese  it Italian
ca Catalan  mi Maori    ja Japanese
ny Chichewa     mr Marathi  jw Javanese
zh -CNChinese   mn Mongolian    kn Kannada
zh -TWChinese   my Myanmar  kk Kazakh
hr Croatian     ne Nepali   km Khmer
cs Czech    no Norwegian    ko Korean
....etc

Naah demikianlah dokumentasi singkat dari proses pembuatan Project Python Google Translate, jika dirasakan orang yang baru mengenal python seperti saya, rasanya sangat puas apabila sukses membuat program sesuai dengan apa yang kita inginkan.. laugh

python

Your Answer

blog comments powered by Disqus