Judul : Membuat penerjemah dengan google api
link : Membuat penerjemah dengan google api
Membuat penerjemah dengan google api
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.
<
h1
>Aplikasi Penterjemah Bahasa</
h1
>
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.
// 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(…)
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.
// 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
"<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.