1 |
dpavlin |
291 |
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 |
dpavlin |
455 |
sub as_data { |
34 |
dpavlin |
291 |
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 |
dpavlin |
1133 |
__PACKAGE__->meta->make_immutable; |
49 |
|
|
no Moose; |
50 |
|
|
|
51 |
dpavlin |
291 |
1; |