Membuat translate dengan php

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=translatemenggunakan 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

01.<html>

02.<head>

03.<title>Aplikasi Penterjemah Bahasa</title>

04.</head>

05.<body>

06.<h2>Aplikasi Penterjemah Bahasa</h2>

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">Indonesia</option>

14.<option value="en">Inggris</option>

15.<option value="ma">Malaysia</option>

16.<option value="fr">Perancis</option>

17.<option value="es">Spanyol</option>

18.<option value="de">Jerman</option>

19.<option value="nl">Belanda</option>

20.</select>

21. 

22.ke bahasa

23.<select name="to">

24.<option value="id">Indonesia</option>

25.<option value="en">Inggris</option>

26.<option value="ma">Malaysia</option>

27.<option value="fr">Perancis</option>

28.<option value="es">Spanyol</option>

29.<option value="de">Jerman</option>

30.<option value="nl">Belanda</option>

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

01.<?php

02. 

03.

04.$key "...";

05. 

06.

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

08. 

09.

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

11. 

12.

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

14. 

15.

17. 

18.

19.$fetch file_get_contents($url);

20. 

21.

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

01.<?php

02. 

03.

04.$key "...";

05. 

06.

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

08. 

09.

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

11. 

12.

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

14. 

15.

17. 

18.

19.$fetch file_get_contents($url);

20. 

21.

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

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

24. 

25.

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

27. 

28.

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

30. 

31.

32.echo "<p><b>Teks asli: </b>".$_POST['teks']."</p>";

33.echo "<p><b>Hasil terjemahan: </b>".$translate."</p>";

34.?>

Dan… tampilan dari script di atas setelah dimodifikasi adalah sbb:

Mudah bukan cara membuatnya??? Oya… hanya sayangnya Google API Translate ini terbatas melayani maksimum 100.000 karakter perhari untuk diterjemahkan untuk sebuah API Access.

Selamat mencoba, semoga ada manfaatnya.