| 1 |
package Plagger::Plugin::Filter::Kansai; |
|---|
| 2 |
use strict; |
|---|
| 3 |
use base qw( Plagger::Plugin::Filter::Base ); |
|---|
| 4 |
|
|---|
| 5 |
use utf8; |
|---|
| 6 |
|
|---|
| 7 |
sub filter { |
|---|
| 8 |
my($self, $text) = @_; |
|---|
| 9 |
|
|---|
| 10 |
my $n = 0; |
|---|
| 11 |
|
|---|
| 12 |
local $_ = $text; |
|---|
| 13 |
$n += s/なぜ(?:なんだ|でしょうか?|ですか?)/なんでやねん/g; |
|---|
| 14 |
$n += s/ありがとう(?:ございま(?:す|した))?/おおきに/g; |
|---|
| 15 |
$n += s/(の?)でしょう/($1?'ん':'').'やろ'/ge; |
|---|
| 16 |
$n += s/になられる/してくれはる/g; |
|---|
| 17 |
$n += s/([てで])(いる|います)/ |
|---|
| 18 |
{'て'=>'と','で'=>'ど'}->{$1}. |
|---|
| 19 |
{'いる'=>'る','います'=>'ります'}->{$2}/ge; |
|---|
| 20 |
$n += s/(?<=まし)た\b/てん/g; |
|---|
| 21 |
$n += s/りますが/るけど/g; |
|---|
| 22 |
$n += s/いです([よがね])/ |
|---|
| 23 |
{'よ'=>'いでっしゃろ','が'=>'いねんけど','ね'=>'いわな'}->{$1}/ge; |
|---|
| 24 |
$n += s/((い)?[のん])?(?:だ|です)([よがとね])/ |
|---|
| 25 |
($2 ? 'いねん' : $1 ? 'んや' : 'や'). |
|---|
| 26 |
{'よ'=>'で','が'=>'けど','と'=>'と','ね'=>'な'}->{$3}/ge; |
|---|
| 27 |
$n += s/(?<=[^幸][いた])です\b/で/g; |
|---|
| 28 |
$n += s/(?:です|である)\b/や/g; |
|---|
| 29 |
$n += s/しない(で)/'せえへん'.($1?'といて':'')/ge; |
|---|
| 30 |
$n += s/てください/とくんなはれ/g; |
|---|
| 31 |
$n += s/てしまう/てまう/g; |
|---|
| 32 |
$n += s/ていません/てまへん/g; |
|---|
| 33 |
$n += s/ございません/ありまへん/g; |
|---|
| 34 |
$n += s/すみません/すんまへん/g; |
|---|
| 35 |
$n += s/すいません/すんまへん/g; |
|---|
| 36 |
$n += s/(いけ?)?ません/ |
|---|
| 37 |
{'い'=>'おり','いけ'=>'あき',''=>''}->{$1}.'まへん'/ge; |
|---|
| 38 |
$n += s/(?<=[てで])いない/ない/g; |
|---|
| 39 |
$n += s/(?<=もう|しか)ない/あらへん/g; |
|---|
| 40 |
$n += s/(?<=[が、])ない/あらへん/g; |
|---|
| 41 |
$n += s/(?<!で)はない/はあらへん/g; |
|---|
| 42 |
$n += s/(?<=[かさなまらわきちりえけせてねめれ])ない/へん/g; |
|---|
| 43 |
$n += s/だ(?=と|った|けど)/や/g; |
|---|
| 44 |
$n += s/いる/おる/g; |
|---|
| 45 |
$n += s/いない/おらん/g; |
|---|
| 46 |
$n += s/いい(?=です|こと|[なのよ]|\b)/ええ/g; |
|---|
| 47 |
$n += s/という/ちゅう/g; |
|---|
| 48 |
$n += s/なぜ(?=[だでな])/なんで/g; |
|---|
| 49 |
$n += s/(<?=[なた])んだ/んや/g; |
|---|
| 50 |
$n += s/いただいて/もろうて/g; |
|---|
| 51 |
$n += s/[私俺]は/わしは/g; |
|---|
| 52 |
$n += s/よろしく/よろしゅう/g; |
|---|
| 53 |
$n += s/あなた/あんた/g; |
|---|
| 54 |
$n += s/だろう/やろ/g; |
|---|
| 55 |
$n += s/かな?/かいな?/g; |
|---|
| 56 |
$n += s/ってる/っとる/g; |
|---|
| 57 |
$n += s/んでる/んどる/g; |
|---|
| 58 |
|
|---|
| 59 |
return ($n, $_); |
|---|
| 60 |
} |
|---|
| 61 |
|
|---|
| 62 |
1; |
|---|
| 63 |
__END__ |
|---|
| 64 |
|
|---|
| 65 |
=for stopwords Mishima-san Kansai Kansai-ben Kansai.pm |
|---|
| 66 |
|
|---|
| 67 |
=head1 NAME |
|---|
| 68 |
|
|---|
| 69 |
Plagger::Plugin::Filter::Kansai - Filer text to Kansai-ben |
|---|
| 70 |
|
|---|
| 71 |
=head1 SYNOPSIS |
|---|
| 72 |
|
|---|
| 73 |
- module: Filter::Kansai |
|---|
| 74 |
|
|---|
| 75 |
=head1 DESCRIPTION |
|---|
| 76 |
|
|---|
| 77 |
This plugin filters entry body to Kansai dialect. |
|---|
| 78 |
|
|---|
| 79 |
=head1 AUTHOR |
|---|
| 80 |
|
|---|
| 81 |
Tatsuhiko Miyagawa |
|---|
| 82 |
|
|---|
| 83 |
Kansai.pm is originally written by Mishima-san. |
|---|
| 84 |
|
|---|
| 85 |
=head1 SEE ALSO |
|---|
| 86 |
|
|---|
| 87 |
L<Plagger>, L<http://kansai.pm.org/Kansai.pm/src/Kansai.pm> |
|---|
| 88 |
|
|---|
| 89 |
=cut |
|---|