1 |
package Frey::Translate; |
2 |
use Moose; |
3 |
use REST::Google::Translate; |
4 |
|
5 |
=head1 DESCRIPTION |
6 |
|
7 |
translate text using L<REST::Google::Translate> |
8 |
|
9 |
=cut |
10 |
|
11 |
has 'text' => ( |
12 |
is => 'rw', |
13 |
isa => 'Str', |
14 |
required => 1, |
15 |
); |
16 |
|
17 |
has 'from' => ( |
18 |
is => 'rw', |
19 |
isa => 'Str', |
20 |
required => 1, |
21 |
default => 'jp', |
22 |
); |
23 |
|
24 |
has 'to' => ( |
25 |
is => 'rw', |
26 |
isa => 'Str', |
27 |
required => 1, |
28 |
default => 'en', |
29 |
); |
30 |
|
31 |
use Data::Dump qw/dump/; |
32 |
|
33 |
sub data { |
34 |
my ( $self ) = @_; |
35 |
|
36 |
REST::Google::Translate->http_referer('http://localhost/'); |
37 |
|
38 |
my $res = REST::Google::Translate->new( |
39 |
q => $self->text, |
40 |
langpair => $self->from . '|' . $self->to, |
41 |
); |
42 |
|
43 |
die "response status failure", dump($res) if $res->responseStatus != 200; |
44 |
|
45 |
return $res->responseData->translatedText; |
46 |
} |
47 |
|
48 |
1; |