###### PATCHTAG 00 ################################################### ### German/Deutsch ### => Ilja Pavkovic ###### PATCHTAG 10 ################################################### &german ###### PATCHTAG 20 ################################################### 'german' => \&german, 'german' => \&german, ###### PATCHTAG 30 ################################################### # German/deutsch 'german' => "
Vorbereitet für die Lokalisation von Ilja Pavkovic <illsen\@gumblfarz.de>", ###### PATCHTAG 40 ################################################### $credits::LOCALE{'deutsch'}=$credits::LOCALE{'german'}; ###### PATCHTAG 50 ################################################### # German sub german { 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 = ( #'charset=iso-8859-1' => 'charset=iso-8859-1', 'Maximal 5 Minute Incoming Traffic' => 'Maximaler hereinkommender Traffic in 5 Minuten', 'Maximal 5 Minute Outgoing Traffic' => 'Maximaler hinausgehender Traffic in 5 Minuten', 'the device' => 'das Gerät', 'The statistics were last updated(.*)' => 'Die Statistiken wurden am $1 zuletzt aktualisiert', ' Average\)
' => '', 'Average(.*)' => 'Mittel$1', 'Max(.*)' => 'Maximal$1', 'Current(.*)' => 'Aktuell$1', 'version' => 'Version', '`Daily\' Graph \((.*) Minute' => 'Tagesübersicht (Skalierung $1 Minute(n))
', '`Weekly\' Graph \(30 Minute' => 'Wochenübersicht (Skalierung 30 Minuten)
' , '`Monthly\' Graph \(2 Hour' => 'Monatsübersicht (Skalierung 2 Stunden)
', '`Yearly\' Graph \(1 Day' => 'Jahresübersicht (Skalierung 1 Tag)
', 'Incoming Traffic in (\S+) per Second' => 'Hereinkommender Traffic in $1 pro Sekunde', 'Outgoing Traffic in (\S+) per Second' => 'Hinausgehender Traffic in $1 pro Sekunde', 'Incoming Traffic in (\S+) per Minute' => 'Hereinkommender Traffic in $1 pro Minute', 'Outgoing Traffic in (\S+) per Minute' => 'Hinausgehender Traffic in $1 pro Minute', 'Incoming Traffic in (\S+) per Hour' => 'Hereinkommender Traffic in $1 pro Stunde', 'Outgoing Traffic in (\S+) per Hour' => 'Hinausgehender Traffic in $1 pro Stunde', 'at which time (.*) had been up for(.*)' => 'zu diesem Zeitpunkt lief $1 seit $2', '(\S+) per minute' => '$1 pro Minute', '(\S+) per hour' => '$1 pro Stunde', '(.+)/s$' => '$1/s', # '(.+)/min' => '$1/min', '(.+)/h$' => '$1/std', #'([kMG]?)([bB])/s' => '$1$2/s', #'([kMG]?)([bB])/min' => '$1$2/min', #'([kMG]?)([bB])/h' => '$1$2/std', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Herein:', ' Out:' => ' Hinaus:', ' Percentage' => ' Prozent:', 'Ported to OpenVMS Alpha by' => 'Portierung nach OpenVMS von', 'Ported to WindowsNT by' => 'Portierung nach WindowsNT von', 'and' => 'und', '^GREEN' => 'GRÜN', 'BLUE' => 'BLAU', 'DARK GREEN' => 'DUNKELGRÜN', # 'MAGENTA' => 'ROSA', # 'AMBER' => 'AMBER', ); # maybe expansions with replacement of whitespace would be more appropriate foreach $i (keys %translations) { if(defined $i && defined $string && $string=~/$i/) { (@dollar)=($string=~/()$i/); # I hope this prevents the autovars $string=$translations{$i}; # And it only works from $1-$9 for($j=1;$dollar[$j];$j++) # s/// doesn't do any good with saved "$1"-exprs. { @quux=(); (@quux)=split(/\$$j/,$string); $string=$quux[0].$dollar[$j].$quux[1]; } ; return $string; }; }; %wday = ( 'Sunday' => 'Sonntag', 'Sun' => 'So', 'Monday' => 'Montag', 'Mon' => 'Mo', 'Tuesday' => 'Dienstag', 'Tue' => 'Di', 'Wednesday' => 'Mittwoch', 'Wed' => 'Mi', 'Thursday' => 'Donnerstag', 'Thu' => 'Do', 'Friday' => 'Freitag', 'Fri' => 'Fr', 'Saturday' => 'Samstag', 'Sat' => 'Sa' ); %month = ( 'January' => 'Januar', 'February' => 'Februar' , 'March' => 'März', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mär', 'April' => 'April', 'May' => 'Mai', 'June' => 'Juni', 'Apr' => 'Apr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Juli', 'August' => 'August', 'September' => 'September', 'Jul' => 'Jul', 'Aug' => 'Aug', 'Sep' => 'Sep', 'October' => 'Oktober', 'November' => 'November', 'December' => 'Dezember', 'Oct' => 'Okt', 'Nov' => 'Nov', 'Dec' => 'Dez' ); @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]." um ".$quux[1]; }; return "$wday{$foo[0]}, den $foo[1]. $month{$foo[2]} $foo[3]"; }; # # 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; };