Blob Blame History Raw

###### PATCHTAG 00 ###################################################
###      Chinese/¼òÌ庺×Ö
###      => Zhanghui ÕÅ»Ô <zhanghui2@asiainfo.com>
###### PATCHTAG 10 ###################################################
  &gb
###### PATCHTAG 20 ###################################################
  'gb'         => \&gb, 
  '¼òÌ庺×Ö'     => \&gb,
###### PATCHTAG 30 ###################################################
# Chinese/¼òÌ庺×Ö
   'gb' =>
   "¤¤¤å¤Æ§@ªÌ
				<a href=\"http://www.asiainfo.com/~zhanghui\">Hui Zhang</a>
				<a href=\"mailto:zhanghui2\@asiainfo.com\">&lt;zhanghui\@asiainfo.com&gt;</a>",
###### PATCHTAG 40 ###################################################
$credits::LOCALE{'¼òÌ庺×Ö'}=$credits::LOCALE{'gb'};
###### PATCHTAG 50 ###################################################
# Chinese gb Code

sub gb
{
  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...
  # charset=iso-2022-jp

  %translations =
  (  
     'iso-8859-1'                             => 'gb',
     'Maximal 5 Minute Incoming Traffic'      => '5·ÖÖÓ×î´óµÄÁ÷Á¿',
     'Maximal 5 Minute Outgoing Traffic'      => '5·ÖÖÓ×î´óµÄÁ÷³öÁ÷Á¿',
     'the device'                             => 'µ±Ç°É豸',
     'The statistics were last updated(.*)'   => 'ͳ¼ÆĞÅÏ¢¸üĞÂÓÚ: $1',
     ' Average\)'                             => 'ƽ¾ù)',
     'Average'                                => 'ƽ¾ù',
     'Max'                                    => '×î´ó',
     'Current'                                => 'µ±Ç°',
     'version'                                => '°æ±¾',
     '`Daily\' Graph \((.*) Minute'           => 'ÈÕ·ÖÎöͼ($1·ÖÖÓ',
     '`Weekly\' Graph \(30 Minute'            => 'ÖÜ·ÖÎöͼ(30·ÖÖÓ'  ,
     '`Monthly\' Graph \(2 Hour'              => 'Ô·ÖÎöͼ(2Сʱ',
     '`Yearly\' Graph \(1 Day'                => 'Äê·ÖÎöͼ(1Ìì',
     'Incoming Traffic in (\S+) per Second'   => 'ÿÃëµÄÁ÷ÈëÁ÷Á¿(µ¥Î»$1)',
     'Outgoing Traffic in (\S+) per Second'   => 'ÿÃëµÄÁ÷³öÁ÷Á¿(µ¥Î»$1)',
     'at which time (.*) had been up for(.*)' => 'Æäʱ $1ÒѾ­¸üĞÂ(UPTIME): $2',
     '([kMG]?)([bB])/s'                       => '$1$2/s',
     '([kMG]?)([bB])/min'                     => '$1$2/m',
     '([kMG]?)([bB])/h'                       => '$1$2/h',
    # 'Bits'                                   => 'Bits',
    # 'Bytes'                                  => 'Bytes'
     'In'                                     => 'Á÷Èë',
     'Out'                                    => 'Á÷³ö',
     'Percentage'                             => '°Ù·Ö±È',
     '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' => 'Öܶş¤G',
      'Wednesday' => 'ÖÜÈı',        'Wed' => 'ÖÜÈı¤T',
      'Thursday'  => 'ÖÜËÄ',        'Thu' => 'ÖÜËÄ¥|',
      'Friday'    => 'ÖÜÎå',        'Fri' => 'ÖÜÎå',
      'Saturday'  => 'ÖÜÁù',        'Sat' => 'ÖÜÁù'

    );

%month =
    (
      'January'   => '1ÔÂ',   'February'  => '2ÔÂ',    'March'     => '3ÔÂ',
      'Jan'       => '1ÔÂ',     'Feb'       => '2ÔÂ',      'Mar'       => '3ÔÂ',
      'April'     => '4ÔÂ',   'May'       => '5ÔÂ',    'June'      => '6ÔÂ',
      'Apr'       => '4ÔÂ',     'May'       => '5ÔÂ',      'Jun'       => '6ÔÂ',
      'July'      => '7ÔÂ',   'August'    => '8ÔÂ',    'September' => '9ÔÂ',
      'Jul'       => '7ÔÂ',     'Aug'       => '8ÔÂ',      'Sep'       => '9ÔÂ',
      'October'   => '10ÔÂ',   'November'  => '11ÔÂ',  'December'  => '12ÔÂ',
      'Oct'       => '10ÔÂ',     'Nov'       => '11ÔÂ',    'Dec'       => '12ÔÂ'

    );


  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
  if($foo[0] && $wday{$foo[0]} && $foo[2] && $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;

};