Blob Blame History Raw
###### PATCHTAG 00 ###################################################
###      Czech/Česky
###      => David Toman <david@idkfa.cz>
###### PATCHTAG 10 ###################################################
  &czechutf8
###### PATCHTAG 20 ###################################################
  'czechutf8' 	 => \&czechutf8,
###### PATCHTAG 30 ###################################################
# Czechutf8/Česky
   'czechutf8' =>
		    "Český překlad do UTF-8 připravil
				<a href=\"http://www.idkfa.cz\">David Toman</a>
				<a href=\"mailto:david\@idkfa.cz\"> &lt;david\@idkfa.cz&gt;</a>",
###### PATCHTAG 40 ###################################################
$credits::LOCALE{'czechutf8'}=$credits::LOCALE{'czechutf8'};
###### PATCHTAG 50 ###################################################
# Czechutf8

sub czechutf8
{
  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'                             => 'utf-8',
     'Maximal 5 Minute Incoming Traffic'      => 'Maximální 5 minutový příchozí tok',
     'Maximal 5 Minute Outgoing Traffic'      => 'Maximální 5 minutový odchozí tok',
     'the device'                             => 'zařízení',
     'The statistics were last updated(.*)'   => 'Poslední aktualizace statistiky:$1',
     ' Average\)'                             => ' průměr)',
     'Average'                                => 'Prům.',
     'Max'                                    => 'Max.',
     'Current'                                => 'Akt.',
     'version'                                => 'verze',
     '`Daily\' Graph \((.*) Minute'           => 'Denní graf ($1 minutový',
     '`Weekly\' Graph \(30 Minute'            => 'Týdenní graf (30 minutový' ,
     '`Monthly\' Graph \(2 Hour'              => 'Měsíční graf (2 hodinový',
     '`Yearly\' Graph \(1 Day'                => 'Roční graf (1 denní', 
     'Incoming Traffic in (\S+) per Second'   => 'Příchozí tok v $1 za sec.',
     'Outgoing Traffic in (\S+) per Second'   => 'Odchozí tok v $1 za sec.',
     'at which time (.*) had been up for(.*)' => 'od posledního restartu $1 uběhlo: $2',
     #'([kMG]?)([bB])/s'                       => '\$1\$2/s',
     #'([kMG]?)([bB])/min'     	      	      => '\$1\$2/min',
     #'([kMG]?)([bB])/h'                       => '$1$2/h',
     'Bits'                                   => 'bitech',
     'Bytes'                                  => 'bajtech',
     #'&nbsp;In:</FONT>'                       => '&nbsp;In:</FONT>',
     #'&nbsp;Out:</FONT>'                      => '&nbsp;Out:</FONT>',
     'Percentage'                             => 'Proc.',
     'Ported to OpenVMS Alpha by'             => 'Na OpenVMS portoval', 
     'Ported to WindowsNT by'                 => 'Na WindowsNT portoval',
     'and'                                    => 'a',
     '^GREEN'                                  => 'Zelená',
     'BLUE'                                   => 'Modrá',
     'DARK GREEN'                             => 'Tmavě zelená',
     'MAGENTA'                                => 'Fialová',
     'AMBER'                                  => 'Žlutá'
  );

# 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'    => 'Neděle',		'Sun' => 'Ne',
      'Monday'    => 'Pondělí',		'Mon' => 'Po',
      'Tuesday'   => 'Úterý',		'Tue' => 'Út',
      'Wednesday' => 'Středa',		'Wed' => 'St',
      'Thursday'  => 'Čtvrtek',		'Thu' => 'Čt',
      'Friday'    => 'Pátek',		'Fri' => 'Pá',
      'Saturday'  => 'Sobota',		'Sat' => 'So' 
    );

%month = 
    (
 'January' => 'Leden',   'February' => 'Únor',      'March'     => 'Březen',
 'Jan'     => 'Leden',   'Feb'      => 'Únor',      'Mar'       => 'Březen',
 'April'   => 'Duben',   'May'      => 'Květen',    'June'      => 'Červen',
 'Apr'     => 'Duben',   'May'      => 'Květen',    'Jun'       => 'Červen',
 'July'    => 'Červenec','August'   => 'Srpen',     'September' => 'Září',
 'Jul'     => 'Červenec','Aug'      => 'Srpen',     'Sep'       => 'Září', 
 'October' => 'Říjen',   'November' => 'Listopad',  'December'  => 'Prosinec', 
 'Oct'     => 'Říjen',   'Nov'      => 'Listopad',  'Dec'       => 'Prosinec' 
    );

  @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].",".$quux[1]." hod."; 
      };
      return "$wday{$foo[0]} $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;

}
#