Просмотр исходного кода

Change sex format to the one made by Hanno

sbingner 25 лет назад
Родитель
Сommit
8dddcd04c5
2 измененных файлов с 47 добавлено и 54 удалено
  1. 33 42
      lang.txt
  2. 14 12
      pisg.pl

+ 33 - 42
lang.txt

@@ -22,10 +22,10 @@
 <lang name="EN">
 ### English
 mostop1 = "<b>[:nick]</b> donated [:ops] ops in the channel..."
-mostop2 = "<b>[:nick]</b> was also very polite: [:ops] from [:subj]"
+mostop2 = "<b>[:nick]</b> was also very polite: [:ops] from [:him:her:]"
 mostop3 = "Strange, no op was given on [:channel]!"
 
-action1 = "<b>[:nick]</b> always lets us know what [:sex] is doing: [:actions] actions!"
+action1 = "<b>[:nick]</b> always lets us know what [:he:she:] is doing: [:actions] actions!"
 action2 = "Also <b>[:nick]</b> tells us what's up with [:actions]"
 action3 = "No actions in [:channel] !"
 actiontext = "<b>For example like this:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
@@ -35,26 +35,26 @@ mostdeop2 = "<b>[:nick]</b> deoped [:deops] users"
 mostdeop3 = "Wow, no op was taken on [:channel]!"
 
 question1 = "<b>[:nick]</b> is either stupid or just making many questions... [:per]% lines contained a question!"
-question2 = "<b>[:nick]</b> didn't know that much either, [:per]% of [:posessive] lines were questions"
+question2 = "<b>[:nick]</b> didn't know that much either, [:per]% of [:his:her:] lines were questions"
 question3 = "Nobody asked questions here, just geniuses at this channel?"
 
 loud1 = "Loudest one was <b>[:nick]</b> who yelled [:per]% of the time!"
 loud2 = "Another <i>old yeller</i> was <b>[:nick]</b> who shouted [:per]% of the time!"
 loud3 = "Nobody raised an exclamation mark, wow."
 
-shout1 = "It seem that <b>[:nick]</b>'s shift-key is hanging, [:per]% of the time [:sex] wrote UPPERCASE"
-shout2 = "<b>[:nick]</b> just forgot to deactivate [:posessive] Caps-Lock, [:per]% of the time [:sex] wrote UPPERCASE"
+shout1 = "It seem that <b>[:nick]</b>'s shift-key is hanging, [:per]% of the time [:he:she:] wrote UPPERCASE"
+shout2 = "<b>[:nick]</b> just forgot to deactivate [:his:her:] Caps-Lock, [:per]% of the time [:he:she:] wrote UPPERCASE"
 shout3 = "Everybody had their shift-key under control :)"
 shouttext = "<b>For example like this:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
 
 slap1 = "<b>[:nick]</b> is a very aggresive person, who slapped around <b>[:slaps]</b> times."
-slap2 = "<b>[:nick]</b> can't control [:posessive] aggressions. [:sex] slapped around <b>[:slaps]</b> times."
+slap2 = "<b>[:nick]</b> can't control [:posessive] aggressions. [:He:She:] slapped around <b>[:slaps]</b> times."
 slap3 = "Nobody slapped around anybody, everybody was friendly."
 slaptext = "<b>For example like this:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
-slapped1 = "Poor <b>[:nick]</b>, nobody likes [:subj]. [:sex] got slapped <b>[:slaps]</b> times."
-slapped2 = "<b>[:nick]</b> seems to be unliked too, [:sex] got slapped <b>[:slaps]</b> times."
+slapped1 = "Poor <b>[:nick]</b>, nobody likes [:him:her:]. [:He:She:] got slapped <b>[:slaps]</b> times."
+slapped2 = "<b>[:nick]</b> seems to be unliked too, [:he:she:] got slapped <b>[:slaps]</b> times."
 slapped3 = "Nobody got slapped in this channel :)"
 slappedtext = "<b>For example like this:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
@@ -72,7 +72,7 @@ words1 = "<b>[:nick]</b> spoke a total of [:words] words!"
 words2 = "[:oldnick]'s faithfull follower, <b>[:nick]</b>, didn't speak so much: [:words] words."
 words3 = "Nobody said anything... what a strange channel..."
 
-mono1 = "<b>[:nick]</b> is talking to [:subj]self a lot, wrote over 5 lines in a row [:monos] times!"
+mono1 = "<b>[:nick]</b> is talking to [:him:her:]self a lot, wrote over 5 lines in a row [:monos] times!"
 mono2 = "Another lonely one was <b>[:nick]</b>, who managed to hit [:monos] times"
 
 wpl1 = "<b>[:nick]</b> wrote an average of [:wpl] words per line..."
@@ -133,88 +133,79 @@ lastused = "Last Used by"
 pagetitle1 = "[:channel] @ [:network] stats by [:maintainer]"
 pagetitle2 = "Statistics generated on "
 pagetitle3 = "During this [:days]-days reporting period, a total number of <b>[:nicks]</b> different nicks were represented on [:channel]."
-msex = "he"
-fsex = "she"
-usex = "he/she"
-mposessive = "his"
-fposessive = "her"
-uposessive = "his/her"
-msubj = "him"
-fsubj = "her"
-usubj = "him/her"
 </lang>
 
 ### German
 
 <lang name="DE">
-action1 = "<b>[:nick]</b> hält uns immer auf dem Laufenden was er/sie gerade macht: [:actions] Actions!"
-action2 = "Auch <b>[:nick]</b> verät uns was los ist: [:actions] Actions von ihm/ihr"
+action1 = "<b>[:nick]</b> hält uns immer auf dem Laufenden was [:er:sie:] gerade macht: [:actions] Actions!"
+action2 = "Auch <b>[:nick]</b> verät uns was los ist: [:actions] Actions von [:ihm:ihr:]."
 action3 = "Keine Actions in [:channel] !"
 actiontext = "<b>Zum Beispiel so:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
 mostop1 = "<b>[:nick]</b> vergab [:ops] ops im Channel..."
-mostop2 = "<b>[:nick]</b> war auch sehr zuvorkommend: [:ops] von ihm/ihr."
+mostop2 = "<b>[:nick]</b> war auch sehr zuvorkommend: [:ops] von [:ihm:ihr:]."
 mostop3 = "Komisch, kein op wurde in [:channel] vergeben!"
 
-mostdeop1 = "<b>[:nick]</b> ist die Channel-Polizei. Er/Sie hat [:deops] Usern das @ wieder weggenommen..."
+mostdeop1 = "<b>[:nick]</b> ist die Channel-Polizei. [:Er:Sie:] hat [:deops] Usern das @ wieder weggenommen..."
 mostdeop2 = "<b>[:nick]</b> nahm [:deops] Usern das @ wieder weg."
 mostdeop3 = "Wow, niemand wurde deopped in [:channel]!"
 
-question1 = "<b>[:nick]</b> hat wohl in der Schule nicht gut aufgepasst... [:per]% seiner/ihrer Zeilen enthielten eine Frage!"
-question2 = "<b>[:nick]</b> weiss wohl auch nicht viel, [:per]% seiner/ihrer Zeilen waren Fragen."
+question1 = "<b>[:nick]</b> hat wohl in der Schule nicht gut aufgepasst... [:per]% [:seiner:ihrer:] Zeilen enthielten eine Frage!"
+question2 = "<b>[:nick]</b> weiss wohl auch nicht viel, [:per]% [:seiner:ihrer:] Zeilen waren Fragen."
 question3 = "Niemand hat hier was gefragt, sollte das etwa ein Channel voller Genies sein? ;)"
 
 loud1 = "Am lautesten war <b>[:nick]</b> der/die [:per]% der Zeit geschrien hat!"
-loud2 = "Ein anderer <i>Schreihals</i> war <b>[:nick]</b> der/die [:per]% der Zeit rumgeschrieen hat!"
+loud2 = "Ein anderer <i>Schreihals</i> war <b>[:nick]</b> [:der:die:] [:per]% der Zeit rumgeschrieen hat!"
 loud3 = "Niemand hat ein Ausrufungszeichen benutzt, wow... Zurückhaltende User im Channel ;)"
 
-shout1 = "Anscheinend klemmte die Shift-Taste von <b>[:nick]</b>, denn [:per]% der Zeit schrieb er in GROSSBUCHSTABEN."
-shout2 = "<b>[:nick]</b> hat auch wohl vergessen CAPS-Lock auszuschalten, von ihm/ihr kamen [:per]% der Zeit GROSSBUCHSTABEN."
+shout1 = "Anscheinend klemmte die Shift-Taste von <b>[:nick]</b>, denn [:per]% der Zeit schrieb [:er:sie:] in GROSSBUCHSTABEN."
+shout2 = "<b>[:nick]</b> hat auch wohl vergessen CAPS-Lock auszuschalten, von [:ihm:ihr:] kamen [:per]% der Zeit GROSSBUCHSTABEN."
 shout3 = "Alle hatten ihre Shift-Taste gut unter kontrolle :)"
 shouttext = "<b>Zum Beispiel so:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
-slap1 = "<b>[:nick]</b> ist etwas agressiv. Er/Sie schlug <b>[:slaps]</b> mal wild um sich herum."
-slap2 = "Auch <b>[:nick]</b> hat einige Probleme seine Agressionen unter Kontrolle zu halten, <b>[:slaps]</b> Schläge von ihm/ihr."
+slap1 = "<b>[:nick]</b> ist etwas agressiv. [:Er:Sie:] schlug <b>[:slaps]</b> mal wild um sich herum."
+slap2 = "Auch <b>[:nick]</b> hat einige Probleme seine Agressionen unter Kontrolle zu halten, <b>[:slaps]</b> Schläge von [:ihm:ihr:]."
 slap3 = "Alle waren friedlich im Channel, niemand hat jemanden geschlagen."
 slaptext = "<b>Zum Beispiel so:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
-slapped1 = "<b>[:nick]</b> ist der Sündenbock im Channel, er/sie wurde <b>[:slaps]</b> mal geschlagen."
-slapped2 = "<b>[:nick]</b> hat auch sein/ihr Fett weg bekommen, er/sie hat <b>[:slaps]</b> mal Schläge bekommen."
+slapped1 = "<b>[:nick]</b> ist der Sündenbock im Channel, [:er:sie:] wurde <b>[:slaps]</b> mal geschlagen."
+slapped2 = "<b>[:nick]</b> hat auch [:sein:ihr:] Fett weg bekommen, [:er:sie:] hat <b>[:slaps]</b> mal Schläge bekommen."
 slapped3 = "Niemand wurde geschlagen."
 slappedtext = "<b>Zum Beispiel so:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
-gotkick1 = "<b>[:nick]</b> war wohl der Channelclown, er/sie wurde [:kicks] mal gekickt!"
-gotkick2 = "<b>[:nick]</b> konnte sich scheinbar auch nicht benehmen, [:kicks] kicks für ihn/sie."
+gotkick1 = "<b>[:nick]</b> war wohl der Channelclown, [:er:sie:] wurde [:kicks] mal gekickt!"
+gotkick2 = "<b>[:nick]</b> konnte sich scheinbar auch nicht benehmen, [:kicks] kicks für [:ihn:sie:]."
 kicktext = "<b>Zum Beispiel so:</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[:line]"
 
 joins = "<b>[:nick]</b> konnte sich nicht entscheiden im Channel zu bleiben oder zu gehen, [:joins] joins während des Statistik-Zeitraums!"
 
-kick1 = "Ist <b>[:nick]</b> jetzt einfach nur ein fairer Op oder macht ihm/ihr das Spass? Er/Sie kickte [:kicked] User!"
-kick2 = "[:oldnick]'s würdiger Nachfolger, <b>[:nick]</b>, er/sie kickte [:kicked] User."
+kick1 = "Ist <b>[:nick]</b> jetzt einfach nur ein fairer Op oder macht [:ihm:ihr:] das Spass? [:Er:Sie:] kickte [:kicked] User!"
+kick2 = "[:oldnick]'s würdiger Nachfolger, <b>[:nick]</b>, [:er:sie:] kickte [:kicked] User."
 kick3 = "Nette Opper hier, niemand wurde gekickt!"
 
 words1 = "<b>[:nick]</b> war mit [:words] Worten sehr mitteilungsbedürftig!"
 words2 = "[:oldnick]'s würdiger Nachfolger, <b>[:nick]</b>, schaffte es auf immerhin [:words] Worte"
 words3 = "Niemand hat etwas gesagt? Seltsamer Channel..."
 
-mono1 = "<b>[:nick]</b> spricht viel mit sich selbst, er/sie schrieb über 5 Zeilen in einer Reihe und das [:monos] mal!"
-mono2 = "Ein anderes einsames Herz ist <b>[:nick]</b>, der/die [:monos] mal mit sich selbst redete."
+mono1 = "<b>[:nick]</b> spricht viel mit sich selbst, [:er:sie:] schrieb über 5 Zeilen in einer Reihe und das [:monos] mal!"
+mono2 = "Ein anderes einsames Herz ist <b>[:nick]</b>, [:der:die:] [:monos] mal mit sich selbst redete."
 
 wpl1 = "<b>[:nick]</b> schrieb im Schnitt [:wpl] Worte pro Zeile ..."
 wpl2 = "Der Channeldurchschnitt lag bei [:avg] Worten/Zeile."
 
-long1 = "<b>[:nick]</b> ist die Labertasche im Channel Er/Sie schrieb die längste Zeile mit durchschnittlich [:letters] Buchstaben pro Zeile..."
+long1 = "<b>[:nick]</b> ist die Labertasche im Channel. [:Er:Sie:] schrieb die längste Zeile mit durchschnittlich [:letters] Buchstaben pro Zeile..."
 long2 = "Channel-Durchschnitt in [:channel] war [:avg] Buchstaben pro Zeile."
 
-short1 = "<b>[:nick]</b> ist nicht sehr Mitteilungsbedürftig. Er/Sie schrieb die kürzeste Zeile mit durchschnittlich [:letters] Buchstaben pro Zeile..."
+short1 = "<b>[:nick]</b> ist nicht sehr Mitteilungsbedürftig. [:Er:Sie:] schrieb die kürzeste Zeile mit durchschnittlich [:letters] Buchstaben pro Zeile..."
 short2 = "[:nick] war auch sehr kurzfassend, durchschnittlich [:letters] Buchstaben pro Zeile."
 
-foul1 = "<b>[:nick]</b> hat in seiner/ihrer Jugend keine Erziehung genossen, [:per]% seiner/ihrer S&auml;tze enthielten Schimpfworte!"
+foul1 = "<b>[:nick]</b> hat in [:seiner:ihrer:] Jugend keine Erziehung genossen, [:per]% seiner/ihrer S&auml;tze enthielten Schimpfworte!"
 foul2 = "<b>[:nick]</b> war [:per]% der Zeit unartig (Ob da der Weihnachtsman noch kommt?)"
 foul3 = "Alle gut erzogen in [:channel], niemand hat Schimpfworte benutzt!"
 
-smiles1 = "<b>[:nick]</b> ist ein fröhlicher Mensch, [:per]% seiner/ihrer Zeilen enthielt ein fröhliches Smily :)"
-smiles2 = "<b>[:nick]</b> scheint auch glücklich zu sein. Er/Sie "smilte" [:per]% der Zeit."
+smiles1 = "<b>[:nick]</b> ist ein fröhlicher Mensch, [:per]% [:seiner:ihrer:] Zeilen enthielt ein fröhliches Smily :)"
+smiles2 = "<b>[:nick]</b> scheint auch glücklich zu sein. [:Er:Sie:] "smilte" [:per]% der Zeit."
 smiles3 = "Niemand "smilte" in [:channel]! Los Leute legt mal wieder ein Lächeln auf :)"
 
 sad1 = "<b>[:nick]</b> scheint im Moment nicht gut drauf zu sein, [:per]% seiner/ihrer Zeilen enthielten ein trauriges Smily :("

+ 14 - 12
pisg.pl

@@ -1002,18 +1002,6 @@ sub template_text
 
     }
 
-    if ($hash{nick}) {
-        if ($users->{sex}{$hash{nick}}) {
-            $hash{posessive} = template_text($users->{sex}{$hash{nick}} . "posessive");
-            $hash{subj} = template_text($users->{sex}{$hash{nick}} . "subj");
-            $hash{sex} = template_text($users->{sex}{$hash{nick}} . "sex");
-        } else {
-            $hash{posessive} = template_text("uposessive");
-            $hash{subj} = template_text("usubj");
-            $hash{sex} = template_text("usex");
-        }
-    }
-
     $hash{channel} = $conf->{channel};
 
     foreach my $key (sort keys %hash) {
@@ -1027,10 +1015,24 @@ sub template_text
         $text =~ s/ø/&oslash;/g;
     }
 
+    if ($text =~ /\[:.*?:.*?:\]/) {
+        $text =~ s/\[:(.*?):(.*?):\]/get_subst($1,$2,\%hash)/ge;
+    }
     return $text;
 
 }
 
+sub get_subst {
+    my ($m,$f,$hash) = @_;
+    if ($hash->{nick} && $users->{sex}{$hash->{nick}}) {
+        if ($users->{sex}{$hash->{nick}} eq 'm') {
+            return $m;
+        } elsif ($users->{sex}{$hash->{nick}} eq 'f') {
+            return $f;
+        } 
+    }
+    return "$m/$f";
+}
 
 sub replace_links
 {