Sabtu, 31 Maret 2012

Membuat Sendiri Script PHP Penterjemah Teks dengan Google API Translate

JUST TO TRY-Akhir-akhir ini saya suka sekali memposting tentang API (Application Programming Interface). Setelah kemarin memposting artikel tentang Paypal API untuk cek balance, untuk artikel kali ini saya akan mencoba memaparkan cara membuat script PHP untuk menterjemahkan teks dari bahasa tertentu ke bahasa lain memanfaatkan Google Translate API.

Dengan script buatan sendiri ini, Anda tidak perlu lagi membuka situs Google Translate setiap kali akan menterjemahkan sebuah teks, namun cukup membuka aplikasi yang telah dibuat sendiri ini. Bahkan, Anda bisa menambahkan semacam widget di situs web Anda untuk layanan penterjemahan sembarang teks.

OK, sebelum kita mulai membuat script penterjemah teks ini, terlebih dahulu kita harus mengaktifkan API untuk Google Translate ini. Untuk mengaktifkan API ini, silakan Anda login ke https://code.google.com/apis/console/?api=translate menggunakan akun Google Anda. Jika belum memilikinya, maka silakan registrasi dahulu.

Setelah Anda berhasil login, maka akan muncul tampilan berikut ini jika sebelumnya belum pernah mengaktifkan Google API.


Selanjutnya, klik tombol ‘Add project’, lalu muncul beberapa layanan API Google. Dari beberapa layanan API tersebut, cari ‘Translate API’ dan klik tombol ‘Activate’.


Untuk mendapatkan layanan akses ke Google API, setiap user akan mendapatkan API Access yang berupa kode tertentu. Kode ini berfungsi sebagai autentikasi kepada setiap user yang mengakses API. Kode API Access Anda dapat dilihat di menu ‘API Access’.



Setelah Anda klik API Access, maka Anda akan menjumpai suatu kode sbb (perhatikan kode yang di kotak merah):



itulah kode API Access Anda.

OK… sampai sini, kita sudah mengaktifkan Google API Translate dan juga mendapatkan kode API Access nya. Sekarang kita bisa mulai membuat script penterjemahannya.

Pertama, kita buat dahulu form untuk input teks yang akan diterjemahkan.

form.html

view sourceprint?
01.<html>

02.<head>

03.<title>Aplikasi Penterjemah Bahasatitle>

04.head>

05.<body>

06.<h1>Aplikasi Penterjemah Bahasah1>

07.<form method="post" action="translate.php">

08.Masukkan Teks : <br>

09.<textarea name="teks" cols="40" rows="5">textarea>

10.<br><br>

11.Dari bahasa

12.<select name="from">

13.<option value="id">Indonesiaoption>

14.<option value="en">Inggrisoption>

15.<option value="ma">Malaysiaoption>

16.<option value="fr">Perancisoption>

17.<option value="es">Spanyoloption>

18.<option value="de">Jermanoption>

19.<option value="nl">Belandaoption>

20.select>

21.

22.ke bahasa

23.<select name="to">

24.<option value="id">Indonesiaoption>

25.<option value="en">Inggrisoption>

26.<option value="ma">Malaysiaoption>

27.<option value="fr">Perancisoption>

28.<option value="es">Spanyoloption>

29.<option value="de">Jermanoption>

30.<option value="nl">Belandaoption>

31.select>

32.

33.<input type="submit" name="submit" value="Terjemahkan">

34.

35.form>

36.body>

37.html>

Perhatikan, pada kode HTML form di atas. Dalam form kita buat dua buah combo box untuk memilih penterjemahannya dari bahasa tertentu ke bahasa tertentu. Untuk masing-masing bahasa terdapat identitas sendiri, misalnya bahasa Indonesia menggunakan ‘id’, bhs Inggris dengan ‘en’. Identitas bahasa ini nanti akan dibaca oleh Google API Translate dan digunakan untuk proses penterjemahan. Berikut ini adalah tampilan form di atas

Selanjutnya kita buat script translate.php nya yang akan memproses form di atas.
translate.php

view sourceprint?
01.

02.

03.// masukkan API Access di sini

04.$key = "...";

05.

06.// membaca teks dari form

07.$teks = urlencode($_POST['teks']);

08.

09.// dari bahasa

10.$dariBhs = $_POST['from'];

11.

12.// ke bahasa

13.$keBhs = $_POST['to'];

14.

15.// URL untuk mengakses Google API Translate

16.$url = "https://www.googleapis.com/language/translate/v2?key=".$key."&q=".$teks."&source=".$dariBhs."&target=".$keBhs."&callback=response";

17.

18.// membaca respon dari server Google

19.$fetch = file_get_contents($url);

20.

21.// menampilkan respon

22.echo $fetch;

23.

24.?>

Jika script di atas dijalankan maka akan muncul respon sbb (jika form diisikan ‘Halo apa kabar?, dan penterjemahan dilakukan dari bahasa Indonesia ke bahasa Inggris’):

Dari bentuk respon di atas, tampak bahwa respon dari Google API disajikan dalam format JSON yang diapit oleh
response(…)
Nah… sekarang tugas kita adalah mengekstrak respon dalam bentuk JSON tersebut, untuk mengambil hasil terjemahannya saja yang ada pada bagian “translatedText”: “Hello how are you doing?”
Berikut ini kita adalah script translate.php yang di dalamnya sudah ditambahkan beberapa perintah untuk parsing JSON.
translate.php

view sourceprint?
01.

02.

03.// masukkan API Access di sini

04.$key = "...";

05.

06.// membaca teks dari form

07.$teks = urlencode($_POST['teks']);

08.

09.// dari bahasa

10.$dariBhs = $_POST['from'];

11.

12.// ke bahasa

13.$keBhs = $_POST['to'];

14.

15.// URL untuk mengakses Google API Translate

16.$url = "https://www.googleapis.com/language/translate/v2?key=".$key."&q=".$teks."&source=".$dariBhs."&target=".$keBhs."&callback=response";

17.

18.// membaca respon dari server Google

19.$fetch = file_get_contents($url);

20.

21.// mengambil data JSON yang terletak di dalam response(...)

22.$splits1 = explode("response(", $fetch);

23.$splits2 = explode(");", $splits1[1]);

24.

25.// mengekstrak data JSON

26.$hasil = json_decode($splits2[0], true);

27.

28.// mengambil teks hasil terjemahan dari data JSON

29.$translate = $hasil["data"]["translations"][0]["translatedText"];

30.

31.// menampilkan hasil terjemahan

32.echo "Teks asli: ".$_POST['teks']."
";

33.echo "Hasil terjemahan: ".$translate."
";

34.?> Dan… tampilan dari script di atas setelah dimodifikasi adalah sbb:


Sumber : http://erlajar.blogspot.com

Tidak ada komentar:

Posting Komentar