REST::Google::Translate - OO interface to Google Translate (aka Languages) API
use REST::Google::Translate;
REST::Google::Translate->http_referer('http://example.com');
my $res = REST::Google::Translate->new(
q => 'hello world',
langpair => 'en|it'
);
die "response status failure" if $res->responseStatus != 200;
my $translated = $res->responseData->translatedText;
printf "Italian translation: %s\n", $translated;
"REST::Google::Translate" provides OO
interface to Google REST (aka AJAX) API for languages translation.
- __PACKAGE__->http_referer()
- Get/set HTTP "Referer" header.
Note: Google says that you should supply a valid HTTP
referer header each time you perform a request to their AJAX API, so
"new()" raises warning unless referer
is specified.
- __PACKAGE__->new()
- "q" argument should contain a phrase for
translation. "langpair" is used to
specify translation languages.
According to Google API documentation the langpair languages
should be separated by "|" (pipe) sign. For complete list of
language pairs and other arguments please refer to 'Google Translate
AJAX API' documentation. E.g.:
my $res = REST::Google::Translate->new(
q => 'hello world',
langpair => 'en|it'
);
The code above will perform a following HTTP GET request:
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en%7Cit
Note: You can left protocol version number unspecified
while making your searches since
"v=1.0" is passed by default.
- responseData
- To access translated text you should use
"responseData" method as follows
$translated_text = $res->responseData->translatedText
REST::Google - the base class for this module;
<http://code.google.com/apis/ajaxlanguage/documentation/#fonje>
- Google Translate AJAX API documentation;
Copyright 2008, Eugen Sobchenko <ejs@cpan.org> and Sergey Sinkovskiy
<glorybox@cpan.org>
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.