html/translit.pl


   1 use strict;
   2 use vars qw(%IRSSI);
   3 
   4 use Irssi;
   5 %IRSSI = (
   6   authors     => 'dreg',
   7   contact     => 'dreg@fine.lv',
   8   name        => 'translit',
   9   description => 'translitiratar',
  10   license     => 'GPL',
  11 );
  12 
  13 my $stripped_out = 0;
  14 
  15 sub translit_out {
  16   if(Irssi::settings_get_bool('translit') && !$stripped_out) {
  17     my $emitted_signal = Irssi::signal_get_emitted();
  18     my ($msg, $dummy1, $dummy2) = @_;
  19 
  20     $dummy1 =~ s/à/a/g;
  21     $dummy1 =~ s/á/b/g;
  22     $dummy1 =~ s/â/v/g;
  23     $dummy1 =~ s/ã/g/g;
  24     $dummy1 =~ s/ä/d/g;
  25     $dummy1 =~ s/å/e/g;
  26     $dummy1 =~ s/¸/jo/g;
  27     $dummy1 =~ s/æ/zh/g;
  28     $dummy1 =~ s/ç/z/g;
  29     $dummy1 =~ s/è/i/g;
  30     $dummy1 =~ s/é/j/g;
  31     $dummy1 =~ s/ê/k/g;
  32     $dummy1 =~ s/ë/l/g;
  33     $dummy1 =~ s/ì/m/g;
  34     $dummy1 =~ s/í/n/g;
  35     $dummy1 =~ s/î/o/g;
  36     $dummy1 =~ s/ï/p/g;
  37     $dummy1 =~ s/ð/r/g;
  38     $dummy1 =~ s/ñ/s/g;
  39     $dummy1 =~ s/ò/t/g;
  40     $dummy1 =~ s/ó/u/g;
  41     $dummy1 =~ s/ô/f/g;
  42     $dummy1 =~ s/õ/h/g;
  43     $dummy1 =~ s/ö/c/g;
  44     $dummy1 =~ s/÷/ch/g;
  45     $dummy1 =~ s/ø/sh/g;
  46     $dummy1 =~ s/ù/sch/g;
  47     $dummy1 =~ s/ú/`/g;
  48     $dummy1 =~ s/û/y/g;
  49     $dummy1 =~ s/ü/`/g;
  50     $dummy1 =~ s/ý/e/g;
  51     $dummy1 =~ s/þ/ju/g;
  52     $dummy1 =~ s/ÿ/ja/g;
  53 
  54     $dummy1 =~ s/À/A/g;
  55     $dummy1 =~ s/Á/B/g;
  56     $dummy1 =~ s/Â/V/g;
  57     $dummy1 =~ s/Ã/G/g;
  58     $dummy1 =~ s/Ä/D/g;
  59     $dummy1 =~ s/Å/E/g;
  60     $dummy1 =~ s/¨/JO/g;
  61     $dummy1 =~ s/Æ/ZH/g;
  62     $dummy1 =~ s/Ç/Z/g;
  63     $dummy1 =~ s/È/I/g;
  64     $dummy1 =~ s/É/J/g;
  65     $dummy1 =~ s/Ê/K/g;
  66     $dummy1 =~ s/Ë/L/g;
  67     $dummy1 =~ s/Ì/M/g;
  68     $dummy1 =~ s/Í/N/g;
  69     $dummy1 =~ s/Î/O/g;
  70     $dummy1 =~ s/Ï/P/g;
  71     $dummy1 =~ s/Ð/R/g;
  72     $dummy1 =~ s/Ñ/S/g;
  73     $dummy1 =~ s/Ò/T/g;
  74     $dummy1 =~ s/Ó/U/g;
  75     $dummy1 =~ s/Ô/F/g;
  76     $dummy1 =~ s/Õ/H/g;
  77     $dummy1 =~ s/Ö/C/g;
  78     $dummy1 =~ s/×/CH/g;
  79     $dummy1 =~ s/Ø/SH/g;
  80     $dummy1 =~ s/Ù/SCH/g;
  81     $dummy1 =~ s/Ú/`/g;
  82     $dummy1 =~ s/Û/Y/g;
  83     $dummy1 =~ s/Ü/`/g;
  84     $dummy1 =~ s/Ý/E/g;
  85     $dummy1 =~ s/Þ/JU/g;
  86     $dummy1 =~ s/ß/JA/g;
  87 
  88     $stripped_out=1;
  89 
  90     Irssi::signal_emit("$emitted_signal", $msg, $dummy1, $dummy2 );
  91     Irssi::signal_stop();
  92     $stripped_out=0;
  93   }
  94 }
  95 
  96 Irssi::settings_add_bool('lookandfeel', 'translit', 1);
  97 
  98 #output filters:
  99 #Irssi::signal_add_first('send command', 'translit_out');
 100 Irssi::signal_add_first('message own_public', 'translit_out');
 101 Irssi::signal_add_first('message own_private', 'translit_out');
 102