Acme-AjiFry
view release on metacpan or search on metacpan
lib/Acme/AjiFry/EN.pm view on Meta::CPAN
h => 'ãã©ã¤ãåºèº«',
i => 'ãã©ã¤ãã・・・',
j => 'ãã©ã¤ã¢ã¸ãã©ã¤',
k => 'ãåºèº«é£ãé£ã',
l => 'ãåºèº«ãããã',
m => 'ãåºèº«ãåºèº«',
n => 'ãåºèº«ãã・・・',
o => 'ãåºèº«ã¢ã¸ãã©ã¤',
p => 'ã¢ã¸é£ãé£ã',
q => 'ã¢ã¸ãããã',
r => 'ã¢ã¸ãåºèº«',
s => 'ã¢ã¸ãã・・・',
t => 'ã¢ã¸ã¢ã¸ãã©ã¤',
u => 'ããé£ãé£ã',
v => 'ãããããã',
w => 'ãããåºèº«',
x => 'ãããã・・・',
y => 'ããã¢ã¸ãã©ã¤',
z => '山岡é£ãé£ã',
A => '山岡ãããã',
B => '山岡ãåºèº«',
C => '山岡ãã・・・',
D => '山岡ã¢ã¸ãã©ã¤',
E => '岡æé£ãé£ã',
F => '岡æãããã',
G => '岡æãåºèº«',
H => '岡æãã・・・',
I => '岡æã¢ã¸ãã©ã¤',
J => 'ã´ã¯ï½¥ï½¥ï½¥é£ãé£ã',
K => 'ã´ã¯ï½¥ï½¥ï½¥ãããã',
L => 'ã´ã¯ï½¥ï½¥ï½¥ãåºèº«',
M => 'ã´ã¯ï½¥ï½¥ï½¥ãã・・・',
N => 'ã´ã¯ï½¥ï½¥ï½¥ã¢ã¸ãã©ã¤',
O => 'ããé£ãé£ã',
P => 'ãããããã',
Q => 'ãããåºèº«',
R => 'ãããã・・・',
S => 'ããã¢ã¸ãã©ã¤',
T => 'éå±±é£ãé£ã',
U => 'éå±±ãããã',
V => 'éå±±ãåºèº«',
W => 'éå±±ãã・・・',
X => 'éå±±ã¢ã¸ãã©ã¤',
Y => '京極é£ãé£ã',
Z => '京極ãããã',
0 => '京極ãåºèº«',
1 => '京極ãã・・・',
2 => '京極ã¢ã¸ãã©ã¤',
3 => 'é¶äººé£ãé£ã',
4 => 'é¶äººãããã',
5 => 'é¶äººãåºèº«',
6 => 'é¶äººãã・・・',
7 => 'é¶äººã¢ã¸ãã©ã¤',
8 => '社主é£ãé£ã',
9 => '社主ãããã',
space => 'ä¸å·',
};
sub new {
my $class = shift;
return $class;
}
sub to_AjiFry {
my ( $self, $raw_string ) = @_;
my $chomped = chomp($raw_string);
unless ($raw_string) {
return "\n" if $chomped;
return '';
}
$raw_string = decode_utf8($raw_string);
my $ajifry_word = $self->_to_ajifry($raw_string);
$ajifry_word .= "\n" if $chomped;
return encode_utf8($ajifry_word);
}
sub translate_to_ajifry {
my ( $self, $raw_string ) = @_;
return $self->to_AjiFry($raw_string);
}
sub to_English {
my ( $self, $ajifry_word ) = @_;
my $chomped = chomp($ajifry_word);
unless ($ajifry_word) {
return "\n" if $chomped;
return '';
}
$ajifry_word = Encode::decode_utf8($ajifry_word);
my $translated_word = $self->_to_English($ajifry_word);
$translated_word .= "\n" if $chomped;
return encode_utf8($translated_word);
}
sub translate_from_ajifry {
my ( $self, $ajifry_word ) = @_;
return $self->to_English($ajifry_word);
}
sub _to_ajifry {
my $self = shift;
my $raw_string = shift;
my @raw_chars = split //, $raw_string;
my $ajifry_word;
foreach my $raw_char (@raw_chars) {
if ( $raw_char eq ' ' ) {
$ajifry_word .= MAP->{space};
}
elsif ( $raw_char =~ /[a-zA-Z0-9]/ ) {
$ajifry_word .= MAP->{$raw_char};
}
else {
$ajifry_word .= $raw_char;
}
}
return $ajifry_word;
}
sub _to_English {
my $self = shift;
my $ajifry_word = shift;
my $translated_word;
while ($ajifry_word) {
my $match = 0;
my $map = MAP;
foreach my $key ( keys %{$map} ) {
if ( $ajifry_word =~ s/^$map->{$key}// ) {
$match = 1;
if ( $key eq 'space' ) {
$translated_word .= ' ';
}
else {
$translated_word .= $key;
}
last;
}
}
unless ($match) {
$ajifry_word =~ s/^(.)//;
$translated_word .= $1;
}
}
return $translated_word;
}
1;
__END__
=encoding utf8
=head1 NAME
Acme::AjiFry::EN - AjiFry Language Translator for English
=head1 SYNOPSIS
use Acme::AjiFry::EN;
my $ajifry_en = Acme::AjiFry::EN->new();
print $ajifry_en->to_AjiFry('012abcABC!!!')."\n"; # outputs => '京極ãåºèº«äº¬æ¥µãã・・・京極ã¢ã¸ãã©ã¤é£ãé£ãé£ãé£ãããããé£ããåºèº«å±±å²¡ãããã山岡ãåºèº«å±±å²¡ãã・・・!!!'
print $ajifry_en->to_English('京極ãåºèº«äº¬æ¥µãã・・・京極ã¢ã¸ãã©ã¤é£ãé£ãé£ãé£ãããããé£ããåºèº«å±±å²¡ãããã山岡ãåºèº«å±±å²¡ãã・・・!!!')."\n"; # outputs => '012abcABC!!!'
=head1 DESCRIPTION
Acme::AjiFry::EN is the AjiFry-Language translator.
This module can translate English into AjiFry-Language, and vice versa.
=head1 SEE ALSO
L<Acme::AjiFry>.
( run in 0.687 second using v1.01-cache-2.11-cpan-995e09ba956 )