Google translate - Perl

![](http://1.bp.blogspot.com/_ypU0iaR-LmM/TDITz- BFVYI/AAAAAAAAAQs/umysQJAVTdk/s320/google-perl.png)
Didunia internet siapa yang tak mengenal Google, rasanya mungkin ga ada. Dan mungkin jika ada sepertinya anda baru
mengenal internet. LOL.
Banyak hal yang membuat Google begitu tangguh didunia internet (ga cuma disearch engine tapi hampir disemua aspek, bahkan baru-baru ini Google meluncurkan inovasi baru yaitu Google Voice yang diklaim sebagai metode baru dalam komunikasi.
Salah satu yang fitur yang menurut saya menjadikan google powerfull adalah tersedianya Google Api, yang membuat kita (terutama programmer) dapat dengan mudah berinteraksi dengan Google product.
Ini yang akan saya bahas khususnya Google Translate Api, dimana dengan menggunakan sebuah kode singkat kita bisa memanfaatkan Google Translate sebagai kamus yang mencakup seluruh bahasa didunia (tentu saja yang udah difasilitasi oleh Google).

Untuk Google translate kita bisa menggunakan alamat ini http://ajax.googleapi s.com/ajax/services/language/translate?v=1.0&q;=$query&langpair;=$fromTo

Misalkan kita ingin melakukan translate kata “home” dari bahasa Inggris(en) ke Indonesia(id), maka urlnya akan menjadi begini http://ajax.googleapis.com/aja x/services/language/translate?v=1.0&q;=home&langpair;=en|id. Format output dari Url tersebut adalah begini:
{ "responseData": {"translatedText":"rumah"}, "responseDetails": null, "responseStatus": 200 }

Output inilah yang akan kita coba parsing dengan bahasa Perl, berikut contoh kodenya :

#!/usr/bin/perl  
if($#ARGV lt 0) {  
print "Need 2 argument.\nUsage: $ARGV  .\n";  
print "Ex: $ARGV \"en.id\" \"keep moving\".\n";  
exit;  
}  
use LWP::Simple;  
$argS=0;  
$fromTo="en|id";  
if($ARGV[0] =~ /\./) {  
$fromTo=$ARGV[0];  
$fromTo=~ s/\./\|/;  
$argS=1;  
}  
foreach $argNum ($argS .. $#ARGV) {  
$query=join " ", $query, $ARGV[$argNum];  
}  
$ret= get("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q;=$query&langpair;=$fromTo");  
if($ret =~ /200/) {  
@retArr=split(/:/,$ret);  
$retFinal=substr(@retArr[2],0,-20);  
print "$retFinal";  
}else{  
print "Check your input: Error..!\n";  
}

Penjelasan:

Keterangan parsing output dari Google Translate:

Output Total : {“responseData”: {“translatedText”:“rumah”}, “responseDetails”: null, “responseStatus”: 200}

Sebuah translator dengan yang dilabelin Powered By Google Translate, telah berhasil kita buat.

Contoh penggunaan:
Translate dari Inggris ke Indonesia (default) :
$ gootranslate who are you
Output → “siapa kau?”
Translate dari Indonesia ke Inggris :
$ gootranslate id.en bagaimana menurut mu
Output →"what do you think"
Translate dari Inggris ke Jepang :
$ gootranslate en.ja i love you
Output → “わたしは、あなたを愛しています”

Simpel bukan, meski terlalu panjang kodenya, atau malah bingung. Kalau mo lebih simple lagi kita bisa menggunakan perintah shell seperti curl dipadu dengan sed, dan hanya 1 baris lho, tapi tentu saja lebih membingungkan. Check this out

$ curl -s \ 'http://ajax.googleapis.com/ajax/services/language/translate?=1.0&q;=rumah&lan gpair;=en|id' | \ sed 's/.*{"translatedText":"\\([^"]*\\)".*/\1\n/'

**
**