gb2312.pmd
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:5k
源码类别:

SNMP编程

开发平台:

C/C++

  1. ###### PATCHTAG 00 ###################################################
  2. ###      Chinese/中文简体
  3. ###      => Peter Wong 子荣<me@tcpip.com.cn>
  4. ###### PATCHTAG 10 ###################################################
  5.   &gb2312
  6. ###### PATCHTAG 20 ###################################################
  7.   'gb2312'         => &gb2312, 
  8.   '中文简体'     => &gb2312,
  9. ###### PATCHTAG 30 ###################################################
  10. # Chinese/中文简体
  11.    'gb2312' =>
  12.    "中文化作者
  13. <a href="http://linux.tcpip.com.cn">Peter Wong</a>
  14. <a href="mailto:webmaster@tcpip.com.cn">&webmaster@tcpip.com.cn&gt;</a>",
  15. ###### PATCHTAG 40 ###################################################
  16. $credits::LOCALE{'中文简体'}=$credits::LOCALE{'gb2312'};
  17. ###### PATCHTAG 50 ###################################################
  18. # Chinese gb2312 Code
  19. sub gb2312
  20. {
  21.   my $string = shift;
  22. return "" unless defined $string;
  23.   my(%translations,%month,%wday);
  24.   my($i,$j);
  25.   my(@dollar,@quux,@foo);
  26.   
  27.   # regexp => replacement string NOTE does not use autovars $1,$2...
  28.   # charset=iso-2022-jp
  29.   %translations =
  30.   (  
  31.      'iso-8859-1'                             => 'gb2312',
  32.      'Maximal 5 Minute Incoming Traffic'      => '5分钟最大流入量',
  33.      'Maximal 5 Minute Outgoing Traffic'      => '5分钟最大流出量',
  34.      'the device'                             => '装置',
  35.      'The statistics were last updated(.*)'   => '上次统计更新时间: $1',
  36.      ' Average)'                             => ' 平均)',
  37.      'Average'                                => '平均',
  38.      'Max'                                    => '最大',
  39.      'Current'                                => '目前',
  40.      'version'                                => '版本',
  41.      '`Daily' Graph ((.*) Minute'           => '每日 图表 ($1 分钟',
  42.      '`Weekly' Graph (30 Minute'            => '每周 图表 (30 分钟' ,
  43.      '`Monthly' Graph (2 Hour'              => '每月 图表 (2 小时',
  44.      '`Yearly' Graph (1 Day'                => '每年 图表 (1 天',
  45.      'Incoming Traffic in (S+) per Second'   => '每秒流入量 (单位 $1)',
  46.      'Outgoing Traffic in (S+) per Second'   => '每秒流出量 (单位 $1)',
  47.      'at which time (.*) had been up for(.*)' => '设备名称 $1,已运作时间(UPTIME): $2',
  48.      '([kMG]?)([bB])/s'                       => '$1$2/秒',
  49.      '([kMG]?)([bB])/min'                     => '$1$2/分',
  50.      '([kMG]?)([bB])/h'                       => '$1$2/时',
  51.     # 'Bits'                                   => 'Bits',
  52.     # 'Bytes'                                  => 'Bytes'
  53.      'In'                                     => '流入',
  54.      'Out'                                    => '流出',
  55.      'Percentage'                             => '百分比',
  56.      'Ported to OpenVMS Alpha by'             => '移植到 OpenVM Alpha 作者',
  57.      'Ported to WindowsNT by'                 => '移植到 WindowsNT 作者',
  58.      'and'                                    => '及',
  59.      '^GREEN'                                 => '绿色',
  60.      'BLUE'                                   => '蓝色',
  61.      'DARK GREEN'                             => '墨绿色',
  62.      'MAGENTA'                                => '紫色',
  63.      'AMBER'                                  => '琥珀色'
  64.   );
  65. # maybe expansions with replacement of whitespace would be more appropriate
  66. foreach $i (keys %translations)
  67. {  
  68.   my $trans = $translations{$i};
  69.   $trans =~ s/|/|/;  
  70.   return $string if eval " $string =~ s|${i}|${trans}| ";
  71. };
  72. %wday =
  73.     (
  74.       'Sunday'    => '星期天',        'Sun' => '日',
  75.       'Monday'    => '星期一',        'Mon' => '一',
  76.       'Tuesday'   => '星期二',        'Tue' => '二',
  77.       'Wednesday' => '星期三',        'Wed' => '三',
  78.       'Thursday'  => '星期四',        'Thu' => '四',
  79.       'Friday'    => '星期五',        'Fri' => '五',
  80.       'Saturday'  => '星期六',        'Sat' => '六'
  81.     );
  82. %month =
  83.     (
  84.       'January'   => '一月',   'February'  => '二月',    'March'     => '三月',
  85.       'Jan'       => '一',     'Feb'       => '二',      'Mar'       => '三',
  86.       'April'     => '四月',   'May'       => '五月',    'June'      => '六月',
  87.       'Apr'       => '四',     'May'       => '五',      'Jun'       => '六',
  88.       'July'      => '七月',   'August'    => '八月',    'September' => '九月',
  89.       'Jul'       => '七',     'Aug'       => '八',      'Sep'       => '九',
  90.       'October'   => '十月',   'November'  => '十一月',  'December'  => '十二月',
  91.       'Oct'       => '十',     'Nov'       => '十一',    'Dec'       => '十二'
  92.     );
  93.   @foo=($string=~/(S+),s+(S+)s+(S+)(.*)/);
  94.   if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
  95.     {
  96.         @quux=split(/at/,$foo[3]);
  97. if($foo[3]=~(/(.*)at(.*)/))
  98.       { 
  99.          $foo[3]=$quux[0];
  100.          $foo[4]=$quux[1];
  101.       };
  102.        return "$foo[3] $month{$foo[2]} $foo[1] 日, $wday{$foo[0]}, $foo[4]";
  103.     };
  104. #
  105. # handle two different time/date formats:  
  106. # return "$wday, $mday $month ".($year+1900)." at $hour:$min";
  107. # return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
  108. #
  109. # handle nontranslated strings which ought to be translated
  110. # print STDERR "$_n" or print DEBUG "not translated $_";
  111. # but then again we might not want/need to translate all strings
  112.   
  113.   return $string;
  114. };