Blob Blame History Raw
###### PATCHTAG 00 ###################################################
###      Belarusian/Беларуская
###      => Глеб Валошка <375gnu@gmail.com>
###### PATCHTAG 10 ###################################################
  &belarusian
###### PATCHTAG 20 ###################################################
  'belarusian'       => \&belarusian, 
  'беларуская'       => \&belarusian,
###### PATCHTAG 30 ###################################################
# Belarusian/беларуская
   'belarusian' =>
   "Беларускі пераклад:
				<a href=\"http://375gnu.wordpress.com\">Глеб Валошка</a>
				<a href=\"mailto:375gnu\@gmail.com\">&lt;375gnu\@gmail.com&gt;</a>",
###### PATCHTAG 40 ###################################################
$credits::LOCALE{'беларуская'}=$credits::LOCALE{'belarusian'};
###### PATCHTAG 50 ###################################################
# Belarusian

sub belarusian
{
  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=utf-8

  %translations =
  (  
     'iso-8859-1'                             => 'utf-8',
     'Maximal 5 Minute Incoming Traffic'      => 'Найбольшы ўваходны трафік за 5 хвілін',
     'Maximal 5 Minute Outgoing Traffic'      => 'Найбольшы выходны трафік за 5 хвілін',
     'the device'                             => 'прылада',
     'The statistics were last updated(.*)'   => 'Апошні раз статыстыка абнаўлялася: $1',
     ' Average\)'                             => ')',
     'Average'                                => 'спасярэднены',
     'Max'                                    => 'найбольшы',
     'Current'                                => 'бягучы',
     'version'                                => 'вэрсія',
     '`Daily\' Graph \((.*) Minute'           => 'Графік трафіку за суткі (за $1 хвілін ',
     '`Weekly\' Graph \(30 Minute'            => 'Графік трафіку за тыдзень (за 30 хвілін ',
     '`Monthly\' Graph \(2 Hour'              => 'Графік трафіку за месяц (за 2 гадзіны ',
     '`Yearly\' Graph \(1 Day'                => 'Графік трафіку за год (за 1 дзень ', 
     'Incoming Traffic in (\S+) per Second'   => 'Уваходны трафік $1 за сэкунду',
     'Outgoing Traffic in (\S+) per Second'   => 'Выходны трафік $1 за сэкунду',
     'Incoming Traffic in (\S+) per Minute'   => 'Уваходны трафік $1 за хвіліну',
     'Outgoing Traffic in (\S+) per Minute'   => 'Выходны трафік $1 за хвіліну',
     'Incoming Traffic in (\S+) per Hour'     => 'Уваходны трафік $1 за гадзіну',
     'Outgoing Traffic in (\S+) per Hour'     => 'Выходны трафік $1 за гадзіну',
     'at which time (.*) had been up for(.*)' => 'калі $1 працаваў $2',
     '(\S+) per minute'			      => '$1 за хвіліну',
     '(\S+) per hour'			      => '$1 за гадзіну',    
     '(.+)/s$'                                => '$1/с',
     '(.+)/min'                               => '$1/хв',
     '(.+)/h$'                                => '$1/г',
     '([kMG]?)([bB])/s'                       => '$1$2/с',
     '([kMG]?)([bB])/min'                     => '$1$2/хв',
     '([kMG]?)([bB])/h'                       => '$1$2/г',
     'Bits'                                   => 'бітах',
     'Bytes'                                  => 'байтах',
     'In'                                     => 'Уваходны',
     'Out'                                    => 'Выходны',
     'Percentage'                             => 'Адсоткі',
     'Ported to OpenVMS Alpha by'             => 'Перанос на OpenVMS:', 
     'Ported to WindowsNT by'                 => 'Перанос на WindowsNT:',
     'and'                                    => 'і',
     '^GREEN'                                 => 'ЗЯЛЁНЫ',
     'BLUE'                                   => 'СІНІ',
     'DARK GREEN'                             => 'ЦЁМНАЗЯЛЁНЫ',
     'MAGENTA'                                => 'РУЖОВЫ',
     'AMBER'                                  => 'БУРШТЫНАВЫ'
  );

# 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'    => 'Нядзеля',     'Sun' => 'Нд',
      'Monday'    => 'Панядзелак',  'Mon' => 'Пн',
      'Tuesday'   => 'Аўторак',     'Tue' => 'Аў',
      'Wednesday' => 'Серада',      'Wed' => 'Ср',
      'Thursday'  => 'Чацьвер',     'Thu' => 'Чц',
      'Friday'    => 'Пятніца',     'Fri' => 'Пт',
      'Saturday'  => 'Субота',      'Sat' => 'Сб' 
    );

%month = 
    (
      'January'   => 'Студзень',  'February'  => 'Люты' ,       'March'     => 'Сакавік',
      'Jan'       => 'Сту',       'Feb'       => 'Лют',         'Mar'       => 'Сак',
      'April'     => 'Красавік',  'May'       => 'Травень',     'June'      => 'Чэрвень', 
      'Apr'       => 'Кра',       'May'       => 'Тра',         'Jun'       => 'Чэр',
      'July'      => 'Ліпень',    'August'    => 'Жнівень',     'September' => 'Верасень', 
      'Jul'       => 'Ліп',       'Aug'       => 'Жні',         'Sep'       => 'Вер', 
      'October'   => 'Кастрычнік','November'  => 'Лістапад',    'December'  => 'Сьнежань', 
      'Oct'       => 'Кас',       'Nov'       => 'Ліс',         'Dec'       => 'Сьн' 
    );

  @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]; 
      };
      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;

};