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

SNMP编程

开发平台:

C/C++

  1. ###### PATCHTAG 00 ###################################################
  2. ###      German/Deutsch   
  3. ###      => Ilja Pavkovic <illsen@gumblfarz.de>
  4. ###### PATCHTAG 10 ###################################################
  5.   &german
  6. ###### PATCHTAG 20 ###################################################
  7.   'german'       => &german, 
  8.   'german'        => &german,
  9. ###### PATCHTAG 30 ###################################################
  10. # German/deutsch
  11.    'german' =>
  12.    "Vorbereitet f&uuml;r die Lokalisation von
  13. <a href="http://www.gumblfarz.de/~illsen">Ilja Pavkovic</a>
  14. <a href="mailto:illsen@gumblfarz.de">&lt;illsen@gumblfarz.de&gt;</a>",
  15. ###### PATCHTAG 40 ###################################################
  16. $credits::LOCALE{'deutsch'}=$credits::LOCALE{'german'};
  17. ###### PATCHTAG 50 ###################################################
  18. # German
  19. sub german
  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'      => 'Maximaler hereinkommender Traffic in 5 Minuten',
  33.      'Maximal 5 Minute Outgoing Traffic'      => 'Maximaler hinausgehender Traffic in 5 Minuten',
  34.      'the device'                             => 'das Ger鋞',
  35.      'The statistics were last updated(.*)'   => 'Die Statistiken wurden am $1 zuletzt aktualisiert',
  36.      ' Average)'                             => '',
  37.      'Average'                                => 'Mittel',
  38.      'Max'                                    => 'Maximal',
  39.      'Current'                                => 'Aktuell',
  40.      'version'                                => 'Version',
  41.      '`Daily' Graph ((.*) Minute'           => 'Tages&uuml;bersicht (Skalierung $1 Minute(n)',
  42.      '`Weekly' Graph (30 Minute'            => 'Wochen&uuml;bersicht (Skalierung 30 Minuten',
  43.      '`Monthly' Graph (2 Hour'              => 'Monats&uuml;bersicht (Skalierung 2 Stunden',
  44.      '`Yearly' Graph (1 Day'                => 'Jahres&uuml;bersicht (Skalierung 1 Tag', 
  45.      'Incoming Traffic in (S+) per Second'   => 'Hereinkommender Traffic in $1 pro Sekunde',
  46.      'Outgoing Traffic in (S+) per Second'   => 'Hinausgehender Traffic in $1 pro Sekunde',
  47.      'Incoming Traffic in (S+) per Minute'   => 'Hereinkommender Traffic in $1 pro Minute',
  48.      'Outgoing Traffic in (S+) per Minute'   => 'Hinausgehender Traffic in $1 pro Minute',
  49.      'Incoming Traffic in (S+) per Hour'     => 'Hereinkommender Traffic in $1 pro Stunde',
  50.      'Outgoing Traffic in (S+) per Hour'     => 'Hinausgehender Traffic in $1 pro Stunde',
  51.      'at which time (.*) had been up for(.*)' => 'zu diesem Zeitpunkt lief $1 seit $2',
  52.      '(S+) per minute'       => '$1 pro Minute',
  53.      '(S+) per hour'       => '$1 pro Stunde',    
  54.      '(.+)/s$'                                 => '$1/s',
  55.      # '(.+)/min'                     => '$1/min',
  56.      '(.+)/h$'                       => '$1/std',
  57.      #'([kMG]?)([bB])/s'                       => '$1$2/s',
  58.      #'([kMG]?)([bB])/min'                     => '$1$2/min',
  59.      #'([kMG]?)([bB])/h'                       => '$1$2/std',
  60.      # 'Bits'                                => 'Bits',
  61.      # 'Bytes'                               => 'Bytes'
  62.      'In'                                     => 'Herein',
  63.      'Out'                                    => 'Hinaus',
  64.      'Percentage'                             => 'Prozent',
  65.      'Ported to OpenVMS Alpha by'             => 'Portierung nach OpenVMS von', 
  66.      'Ported to WindowsNT by'                 => 'Portierung nach WindowsNT von',
  67.      'and'                                    => 'und',
  68.      '^GREEN'                                 => 'GR&Uuml;N',
  69.      'BLUE'                                   => 'BLAU',
  70.      'DARK GREEN'                             => 'DUNKELGR&Uuml;N',
  71.      # 'MAGENTA'                                => 'ROSA',
  72.      # 'AMBER'                               => 'AMBER',
  73.   );
  74. # maybe expansions with replacement of whitespace would be more appropriate
  75. foreach $i (keys %translations)
  76. {  
  77.   my $trans = $translations{$i};
  78.   $trans =~ s/|/|/;  
  79.   return $string if eval " $string =~ s|${i}|${trans}| ";
  80. };
  81. %wday = 
  82.     (
  83.       'Sunday'    => 'Sonntag',     'Sun' => 'So',
  84.       'Monday'    => 'Montag',      'Mon' => 'Mo',
  85.       'Tuesday'   => 'Dienstag',    'Tue' => 'Di',
  86.       'Wednesday' => 'Mittwoch',    'Wed' => 'Mi',
  87.       'Thursday'  => 'Donnerstag',  'Thu' => 'Do',
  88.       'Friday'    => 'Freitag',     'Fri' => 'Fr',
  89.       'Saturday'  => 'Samstag',     'Sat' => 'Sa' 
  90.     );
  91. %month = 
  92.     (
  93.       'January'   => 'Januar',    'February'  => 'Februar' ,    'March'     => 'M&auml;rz',
  94.       'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'M&auml;r',
  95.       'April'     => 'April',     'May'       => 'Mai',         'June'      => 'Juni', 
  96.       'Apr'       => 'Apr',       'May'       => 'Mai',         'Jun'       => 'Jun',
  97.       'July'      => 'Juli',      'August'    => 'August',      'September' => 'September', 
  98.       'Jul'       => 'Jul',       'Aug'       => 'Aug',         'Sep'       => 'Sep', 
  99.       'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Dezember', 
  100.       'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Dez' 
  101.     );
  102.   @foo=($string=~/(S+),s+(S+)s+(S+)(.*)/);
  103.   if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
  104.     {
  105. if($foo[3]=~(/(.*)at(.*)/))
  106.       { 
  107.         @quux=split(/at/,$foo[3]);
  108.         $foo[3]=$quux[0]." um ".$quux[1]; 
  109.       };
  110.       return "$wday{$foo[0]}, den $foo[1]. $month{$foo[2]} $foo[3]"; 
  111.     };
  112. #
  113. # handle two different time/date formats:  
  114. # return "$wday, $mday $month ".($year+1900)." at $hour:$min";
  115. # return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
  116. #
  117. # handle nontranslated strings which ought to be translated
  118. # print STDERR "$_n" or print DEBUG "not translated $_";
  119. # but then again we might not want/need to translate all strings
  120.   
  121.   return $string;
  122. };