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

SNMP编程

开发平台:

C/C++

  1. ###### PATCHTAG 00 ###################################################
  2. ###      Malaysian/Malay   
  3. ###      => Assakhof Ab. Satar <assakhof@mimos.my>
  4. ###### PATCHTAG 10 ###################################################
  5.   &malay
  6. ###### PATCHTAG 20 ###################################################
  7.   'malay'       => &malay, 
  8.   'malaysian'   => &malay,
  9. ###### PATCHTAG 30 ###################################################
  10. # Malaysian/Malay
  11.    'malay' =>
  12.    "Terjemahan ke bahasa Malaysia/Indonesia oleh:
  13. <a href="http://www.mimos.my">Assakhof Ab. Satar</a>
  14. <a href="mailto:assakhof@mimos.my">&lt;assakhof@mimos.my&gt;</a>",
  15. ###### PATCHTAG 40 ###################################################
  16. $credits::LOCALE{'malaysian'}=$credits::LOCALE{'malay'};
  17. ###### PATCHTAG 50 ###################################################
  18. # Malaysian/Malay
  19. sub malay
  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.      #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
  32.      'Maximal 5 Minute Incoming Traffic'      => 'Maksimum 5 Minit Trafik Masuk',
  33.      'Maximal 5 Minute Outgoing Traffic'      => 'Maksimum 5 Minit Trafik Keluar',
  34.      'the device'                             => 'alatan',
  35.      'The statistics were last updated(.*)'   => 'Statistik ini kali terakhir dikemaskini pada $1',
  36.      ' Average)'                             => ' secara purata)',
  37.      'Average'                                => 'Purata',
  38.      'Max'                                    => 'Maksimum',
  39.      'Current'                                => 'Kini',
  40.      'version'                                => 'versi',
  41.      '`Daily' Graph ((.*) Minute'           => 'Graf `Harian' ($1 minit :',
  42.      '`Weekly' Graph (30 Minute'            => 'Graf `Mingguan' (30 minit :' ,
  43.      '`Monthly' Graph (2 Hour'              => 'Graf `Bulanan' (2 jam :',
  44.      '`Yearly' Graph (1 Day'                => 'Graf `Tahunan' (1 hari :',
  45.      'Incoming Traffic in (S+) per Second'   => 'Trafik Masuk $1 per saat',
  46.      'Outgoing Traffic in (S+) per Second'   => 'Traffic Keluar $1 per saat',
  47.      'at which time (.*) had been up for(.*)' => 'Sehingga waktu $1 ia telah aktif selama $2',
  48.      # '([kMG]?)([bB])/s'                 => '$1$2/s',
  49.      # '([kMG]?)([bB])/min'              => '$1$2/min',
  50.      '([kMG]?)([bB])/h'                       => '$1$2/j',
  51.      # 'Bits'                                => 'Bits',
  52.      # 'Bytes'                              => 'Bytes'
  53.      'In'                                     => 'Masuk',
  54.      'Out'                                    => 'Keluar',
  55.      'Percentage'                             => 'Peratus',
  56.      'Ported to OpenVMS Alpha by'             => 'Pengubahsuaian ke  OpenVMS Alpha oleh',
  57.      'Ported to WindowsNT by'                 => 'Pengubahsuaian ke WindowsNT oleh',
  58.      'and'                                    => 'dan',
  59.      '^GREEN'                                 => 'HIJAU',
  60.      'BLUE'                                   => 'BIRU',
  61.      'DARK GREEN'                             => 'HIJAU GELAP',
  62.      'MAGENTA'                                => 'MAGENTA',
  63.      'AMBER'                                  => 'AMBAR'
  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'    => 'Ahad',    'Sun' => 'Aha',
  75.       'Monday'    => 'Isnin',   'Mon' => 'Isn',
  76.       'Tuesday'   => 'Selasa',  'Tue' => 'Sel',
  77.       'Wednesday' => 'Rabu',    'Wed' => 'Rab',
  78.       'Thursday'  => 'Khamis',  'Thu' => 'Kha',
  79.       'Friday'    => 'Jumaat',  'Fri' => 'Jum',
  80.       'Saturday'  => 'Sabtu',   'Sat' => 'Sab'
  81.     );
  82. %month = 
  83.     (
  84.       'January'   => 'Januari',   'February'  => 'Februari' ,   'March'     => 'Mac',
  85.       'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mac',
  86.       'April'     => 'April',     'May'       => 'Mei',         'June'      => 'Jun', 
  87.       'Apr'       => 'Apr',       'May'       => 'Mei',         'Jun'       => 'Jun',
  88.       'July'      => 'Julai',     'August'    => 'Ogos',        'September' => 'September', 
  89.       'Jul'       => 'Jul',       'Aug'       => 'Ogo',         'Sep'       => 'Sep', 
  90.       'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Disember', 
  91.       'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Dis' 
  92.     );
  93.   @foo=($string=~/(S+),s+(S+)s+(S+)(.*)/);
  94.   if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
  95.     {
  96. if($foo[3]=~(/(.*)at(.*)/))
  97.       { 
  98.         @quux=split(/at/,$foo[3]);
  99.         $foo[3]=$quux[0]." pada ".$quux[1]; 
  100.       };
  101. return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
  102.     };
  103. #
  104. # handle two different time/date formats:  
  105. # return "$wday, $mday $month ".($year+1900)." at $hour:$min";
  106. # return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
  107. #
  108. # handle nontranslated strings which ought to be translated
  109. # print STDERR "$_n" or print DEBUG "not translated $_";
  110. # but then again we might not want/need to translate all strings
  111.   
  112.   return $string;
  113. };