1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
###### PATCHTAG 00 ###################################################
### Chinese/c
### => Tate Chen @ <tate@joy-tech.com.tw>
### => Ron F <ron@ko.com.tw>
### 2000/10/7 patch display '\$1\$2/s' errors
###### PATCHTAG 10 ###################################################
&big5
###### PATCHTAG 20 ###################################################
'big5' => \&big5,
'c' => \&big5,
###### PATCHTAG 30 ###################################################
# Chinese/c
'big5' =>
" <HR NOSHADE>
Ƨ@
<NOBR><A HREF=\"http://www.joy-tech.com.tw/~tate\">Tate Chen</A>
<A HREF=\"mailto:tate\@joy-tech.com.tw\">
<tate\@joy-tech.com.tw></A></NOBR>
and
<NOBR><A HREF=\"http://ko.com.tw\">Donlong</A>
<A HREF=\"mailto:donlong\@seed.net.tw\">
<donlong\@seed.net.tw></A>
</NOBR>",
###### PATCHTAG 40 ###################################################
$credits::LOCALE{'c'}=$credits::LOCALE{'big5'};
###### PATCHTAG 50 ###################################################
# Chinese Big5 Code
sub big5
{
my($string)=pop(@_);
my(%translations,%month,%wday);
my($i,$j);
my(@dollar,@quux,@foo);
# regexp => replacement string NOTE does not use autovars $1,$2...
# charset=iso-2022-jp
%translations =
(
'charset=iso-8859-1' => 'charset=big5',
'Maximal 5 Minute Incoming Traffic' => '5̤jyJq',
'Maximal 5 Minute Outgoing Traffic' => '5̤jyXq',
'the device' => '˸m',
'The statistics were last updated(.*)' => 'Wέpsɶ: $1',
' Average\)</B><BR>' => ' )</B><BR>',
'<TD ALIGN=right><SMALL>Average(.*)' => '<TD ALIGN=right><SMALL>$1',
'<TD ALIGN=right><SMALL>Max(.*)' => '<TD ALIGN=right><SMALL>̤j$1',
'<TD ALIGN=right><SMALL>Current(.*)' => '<TD ALIGN=right><SMALL>ثe$1',
'version' => '',
'<B>`Daily\' Graph \((.*) Minute' => '<B>C Ϫ ($1 ',
'<B>`Weekly\' Graph \(30 Minute' => '<B>Cg Ϫ (30 ' ,
'<B>`Monthly\' Graph \(2 Hour' => '<B>C Ϫ (2 p',
'<B>`Yearly\' Graph \(1 Day' => '<B>C~ Ϫ (1 ',
'Incoming Traffic in (\S+) per Second' => 'CyJq ( $1)',
'Outgoing Traffic in (\S+) per Second' => 'CyXq ( $1)',
'at which time (.*) had been up for(.*)' => ']ƦW $1AwB@ɶ(UPTIME): $2',
'(.+)/s$' => '$1/',
'(.+)/min$' => '$1/',
'(.+)/h$' => '$1/',
# 'Bits' => 'Bits',
# 'Bytes' => 'Bytes'
' In:</FONT>' => ' yJ:</FONT>',
' Out:</FONT>' => ' yX:</FONT>',
' Percentage</FONT>' => ' ʤ:</FONT>',
'Ported to OpenVMS Alpha by' => 'Ө OpenVM Alpha @',
'Ported to WindowsNT by' => 'Ө WindowsNT @',
'and' => '',
'^GREEN' => '',
'BLUE' => 'Ŧ',
'DARK GREEN' => '',
'MAGENTA' => '',
'AMBER' => '[Ħ'
);
# maybe expansions with replacement of whitespace would be more appropriate
foreach $i (keys %translations)
{
if($string=~/$i/)
{
(@dollar)=($string=~/()$i/); # I hope this prevents the autovars
$string=$translations{$i}; # And it only works from $1-$9
for($j=1;$dollar[$j];$j++) # s/// doesn't do any good with saved "$1"-exprs.
{
@quux=();
(@quux)=split(/\$$j/,$string);
$string=$quux[0].$dollar[$j].$quux[1];
} ;
return $string;
};
};
%wday =
(
'Sunday' => 'P', 'Sun' => '',
'Monday' => 'P@', 'Mon' => '@',
'Tuesday' => 'PG', 'Tue' => 'G',
'Wednesday' => 'PT', 'Wed' => 'T',
'Thursday' => 'P|', 'Thu' => '|',
'Friday' => 'P', 'Fri' => '',
'Saturday' => 'P', 'Sat' => ''
);
%month =
(
'January' => '@', 'February' => 'G', 'March' => 'T',
'Jan' => '@', 'Feb' => 'G', 'Mar' => 'T',
'April' => '|', 'May' => '', 'June' => '',
'Apr' => '|', 'May' => '', 'Jun' => '',
'July' => 'C', 'August' => 'K', 'September' => 'E',
'Jul' => 'C', 'Aug' => 'K', 'Sep' => 'E',
'October' => 'Q', 'November' => 'Q@', 'December' => 'QG',
'Oct' => 'Q', 'Nov' => 'Q@', 'Dec' => 'QG'
);
@foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
if( $wday{$foo[0]} && $month{$foo[2]} )
{
@quux=split(/at/,$foo[3]);
if($foo[3]=~(/(.*)at(.*)/))
{
$foo[3]=$quux[0];
$foo[4]=$quux[1];
};
return "$foo[3] $month{$foo[2]} $foo[1] , $wday{$foo[0]}, $foo[4]";
};
#
# handle two different time/date formats:
# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
#
# handle nontranslated strings which ought to be translated
# print STDERR "$_\n" or print DEBUG "not translated $_";
# but then again we might not want/need to translate all strings
return $string;
};
|