###### PATCHTAG00 ####################################################
### Greek/Ellinika
### => Simos Xenitellis <simos@hellug.gr>
###### PATCHTAG10 ####################################################
&greek
###### PATCHTAG20 ####################################################
'greek' => \&greek,
'ellinika' => \&greek,
###### PATCHTAG30 ####################################################
# Greek/Ellinika
'greek' =>
"Προετοιμασία στα ελληνικά από το
<a href=\"http://hq.hellug.gr/~nls\">Σίμο Ξενιτέλλη</a>
<a href=\"mailto:S.Xenitellis\@hellug.gr\"><S.Xenitellis\@hellug.gr></a>",
###### PATCHTAG40 ####################################################
$credits::LOCALE{'ellinika'}=$credits::LOCALE{'greek'};
###### PATCHTAG50 ####################################################
# Greek
sub greek
{
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' => 'iso-8859-7',
'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 ανά δευτερόλεπτο',
'at which time (.*) had been up for(.*)' => 'στον οποίο χρόνο $1 ήταν ενεργή για $2',
# '([kMG]?)([bB])/s' => '\$1\$2/s',
# '([kMG]?)([bB])/min' => '\$1\$2/min',
'([kMG]?)([bB])/h' => '$1$2/t',
# 'Bits' => 'Bits',
# 'Bytes' => 'Bytes'
'In' => 'Εισερχόμενα',
'Out' => 'Εξερχόμενα',
'Percentage' => 'Ποσοστό',
'Ported to OpenVMS Alpha by' => 'Μεταφερμένο σε OpenVMS Alpha από',
'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)." à $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;
};