###### PATCHTAG00 ####################################################
### cn/中文汉字
### => 李晨光 <zurkabsd@yahoo.com.cn>
### => MSN:chenguang2001@hotmail.com FreeBSD Fan
### => MRTG完美汉化.
###### PATCHTAG10 ####################################################
&cn
###### PATCHTAG20 ####################################################
'cn' => \&cn,
'中文汉字' => \&cn,
###### PATCHTAG30 ####################################################
# cn/中文汉字
'cn' =>
" <HR NOSHADE>
MRTG完美汉化:
<NOBR><A HREF=\"http://www.darkstage.net\">李晨光</A>
<A HREF=\"mailto:zurkabsd\@yahoo.com.cn\">
<zurkabsd\@yahoo.com.cn></A></NOBR>",
###### PATCHTAG40 ####################################################
$credits::LOCALE{'中文汉字'}=$credits::LOCALE{'cn'};
###### PATCHTAG50 ####################################################
# cn s-Chinese
sub cn
{
my $string = shift;
return "" unless defined $string;
my(%translations,%month,%wday);
my($i,$j);
my(@dollar,@quux,@foo);
# regexp => replacement string NOTE does not use autovars $1,$2...
%translations =
(
'charset=iso-8859-1' => 'charset=gb2312',
'Maximal 5 Minute Incoming Traffic' => '5分钟最大流入量',
'Maximal 5 Minute Outgoing Traffic' => '5分钟最大流出量',
'the device' => '设备',
'The statistics were last updated(.*)' => '统计最后更新时间:$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>最大$1',
'<TD ALIGN=right><SMALL>Current(.*)' => '<TD ALIGN=right><SMALL>当前$1',
'version' => '版本',
'<B>`Daily\' Graph \((.*) Minute' => '<B>"每日" 图表 ($1 分钟',
'<B>`Weekly\' Graph \(30 Minute' => '<B>"每周" 图表 (30 分钟' ,
'<B>`Monthly\' Graph \(2 Hour' => '<B>"每月" 图表 (2 小时',
'<B>`Yearly\' Graph \(1 Day' => '<B>"每年" 图表 (1 天',
'Incoming Traffic in (\S+) per Second' => '每秒流入 $1 量',
'Outgoing Traffic in (\S+) per Second' => '每秒流出 $1 量',
'at which time (.*) had been up for(.*)' => '此时 $1 已运作了: $2 ',
'(.+)/s$' => '$1/秒',
'(.+)/min$' => '$1/分',
'(.+)/h$' => '$1/时',
# 'Bits' => 'Bits',
# 'Bytes' => 'Bytes'
' In:</FONT>' => ' 流入:</FONT>',
' Out:</FONT>' => ' 流出:</FONT>',
' Percentage</FONT>' => ' 百分比:</FONT>',
'Ported to OpenVMS Alpha by' => '移植到 OpenVMS 者',
'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)
{
my $trans = $translations{$i};
$trans =~ s/\|/\|/;
return $string if eval " \$string =~ s|\${i}|${trans}| ";
};
%wday =
(
'Sunday' => '星期天', 'Sun' => '日',
'Monday' => '星期一', 'Mon' => '一',
'Tuesday' => '星期二', 'Tue' => '二',
'Wednesday' => '星期三', 'Wed' => '三',
'Thursday' => '星期四', 'Thu' => '四',
'Friday' => '星期五', 'Fri' => '五',
'Saturday' => '星期六', 'Sat' => '六'
);
%month =
(
'January' => ' 一 月', 'February' => ' 二 月', 'March' => ' 三 月',
'April' => ' 四 月', 'May' => ' 五 月', 'June' => ' 六 月',
'July' => ' 七 月', 'August' => ' 八 月', 'September' => ' 九 月',
'October' => ' 十 月', 'November' => '十一月', 'December' => '十二月',
'Jan' => '1月', 'Feb' => '2月', 'Mar' => '3月',
'Apr' => '4月', 'May' => '5月', 'Jun' => '6月',
'Jul' => '7月', 'Aug' => '8月', 'Sep' => '9月',
'Oct' => '10月', 'Nov' => '11月', 'Dec' => '12月'
);
@foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
{
if($foo[3]=~(/(.*)at(.*)/))
{
@quux=split(/at/,$foo[3]);
$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;
};