root/trunk/plagger/lib/Plagger/Plugin/Filter/Kansai.pm

Revision 1776 (checked in by miyagawa, 14 years ago)

stopwording Kansai.pm

Line 
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
Note: See TracBrowser for help on using the browser.