###### PATCHTAG00 ####################################################
### Swedish/Svenska
### => Clas Mayer <clas@mayer.se>
###### PATCHTAG10 ####################################################
&swedish
###### PATCHTAG20 ####################################################
'swedish' => \&swedish,
'svenska' => \&swedish,
###### PATCHTAG30 ####################################################
# Swedish/Svenska
'swedish' =>
"Översatt till svenska av
Clas Mayer
<a href=\"mailto:clas\@mayer.se\"><clas\@mayer.se></a>",
# the Swedish string means: "Prepared for languages and translated to Swedish by"
###### PATCHTAG40 ####################################################
$credits::LOCALE{'svenska'}=$credits::LOCALE{'swedish'};
###### PATCHTAG50 ####################################################
# Swedish
sub swedish
{
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' => 'Maximalt inkommande trafik i 5 minuter',
'Maximal 5 Minute Outgoing Traffic' => 'Maximalt utgående trafik i 5 minuter',
'the device' => 'enheten',
'The statistics were last updated(.*)' => 'Statistiken blev senast uppdaterad$1',
' Average\)' => ')',
'Average' => 'Medel',
#'Max' => 'Max',
'Current' => 'Senaste',
'version' => 'version',
'`Daily\' Graph \((.*) Minute' => 'Daglig graf (samplingsintervall $1 minut(er)',
'`Weekly\' Graph \(30 Minute' => 'Veckovis graf (medelvärde per 30 minuter' ,
'`Monthly\' Graph \(2 Hour' => 'Månatlig graf (medelvärde per 2 timmar',
'`Yearly\' Graph \(1 Day' => 'Årlig graf (medelvärde per dygn',
'Incoming Traffic in (\S+) per Second' => 'Inkommande trafik i $1 per sekund',
'Outgoing Traffic in (\S+) per Second' => 'Utgående trafik i $1 per sekund',
'at which time (.*) had been up for(.*)' => 'då $1 varit igång i$2',
# '([kMG]?)([bB])/s' => '\$1\$2/s',
# '([kMG]?)([bB])/min' => '\$1\$2/min',
'([kMG]?)([bB])/h' => '$1$2/t',
# 'Bits' => 'Bits',
# 'Bytes' => 'Bytes',
#'In' => 'In',
'Out' => 'Ut',
'Percentage' => 'Procent',
'Ported to OpenVMS Alpha by' => 'Portad till OpenVMS av',
'Ported to WindowsNT by' => 'Portad till WindowsNT av',
'and' => 'och',
'^GREEN' => 'GRÖN',
'BLUE' => 'BLÅ',
'DARK GREEN' => 'MÖRKGRÖN',
'MAGENTA' => 'MANGENTA',
'AMBER' => 'BRUN',
);
# 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' => 'söndag', 'Sun' => 'sön',
'Monday' => 'måndag', 'Mon' => 'mån',
'Tuesday' => 'tisdag', 'Tue' => 'tis',
'Wednesday' => 'onsdag', 'Wed' => 'ons',
'Thursday' => 'torsdag', 'Thu' => 'tor',
'Friday' => 'fredag', 'Fri' => 'fre',
'Saturday' => 'lördag', 'Sat' => 'lör'
);
%month =
(
'January' => 'januari', 'February' => 'februari', 'March' => 'mars',
'Jan' => 'jan', 'Feb' => 'feb', 'Mar' => 'mar',
'April' => 'april', 'May' => 'maj', 'June' => 'juni',
'Apr' => 'apr', 'May' => 'maj', 'Jun' => 'jun',
'July' => 'juli', 'August' => 'augusti', 'September' => 'september',
'Jul' => 'jul', 'Aug' => 'aug', 'Sep' => 'sep',
'October' => 'oktober', 'November' => 'november', 'December' => 'december',
'Oct' => 'okt', 'Nov' => 'nov', 'Dec' => '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]." kl.".$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;
};