# -*- mode: Perl -*- ###################################################################### ### Localization of mrtg output pages ###################################################################### # # # This is a generated perl module file. # # Please see the perl script mergelocale.pl and the language # # databasefiles skelton.pm0 and locale.*.pmd in translate/. # # If you want to contribute to mrtg change in the *.pmd files. # # If you just want to change your own mrtg: Go ahead and edit! # # # ###################################################################### ### Defines programs which handles centralized pattern matching and pattern ### replacements in order to translate the given strings ###################################################################### ### Created by: Morten Storgaard Nielsen ################################################################### # # Distributed under the GNU copyleft # ################################################################### ### Locale by: ### Chinese/中文繁體 ### => Tate Chen 陳世偉 ### => Ron 黃東隆 ### 2000/10/7 patch display '\$1\$2/s' errors ### Brazil/Brazilian Portuguese ### => Luiz Felipe R E ### Bulgarian/韓鍺僦齕 ### => Yovko Lambrev ### catalan/Catal ### => LLu疄 Gras ### Simplified Chinese/潠极笢恅 ### => 暀鎖彆 ### Croatian/Hrvatski ### => Dinko Korunic ### Czech/esky ### => Martin Och ### Danish/Dansk ### => Morten Storgaard Nielsen ### Dutch/Nederlands ### => Barry van Dijk ### Estonian/Eesti ### => Klemens Kasemaa ### euc-jp ### => Fuminori Uematsu ### Finnish/Suomi ### => Jussi Siponen ### French/Francais ### => Fabrice Prigent ### and St廧hane Marzloff ### Galician/Galego ### => David Garabana Barro ### Chinese/潠极犖趼 ### => Zhanghui 桲閩 ### Chinese/笢恅潠极 ### => Peter Wong 赽 ### German/Deutsch ### => Ilja Pavkovic ### Greek/Ellinika ### => Simos Xenitellis ### Hungarian/Magyar ### => Levente Nagy ### Icelandic/Islenska ### => Halldor Karl H鐷nason ### Indonesian/Indonesia ### => Jamaludin Ahmad ### taken from malaysian translation ### by Assakhof Ab. Satar ### iso-2022-jp ### => Fuminori Uematsu ### Italian/Italiano ### => Andrea Rossi ### Korean ### => Kensoon Hwang ### CHOI Junho ### Lithuanian/Lietuvi簥ai ### => ve ### Macedonian/Makedonski ### => Delev Zoran ### Malaysian/Malay ### => Assakhof Ab. Satar ### Norwegian/norsk ### => Knut Gr鷢eng Lukasz Jokiel ### Portuguese/Portugu瘰 ### => Diogo Gomes ### Rom緋/Romanian ### => J霩sef Szil墔yi ### Russian/藑衶侂 ### => 颮尕疶 鯠袬畷恂 ### Russian1251/唒嚭膱1251 ### => 燭樏黟罽 凎噘 ### Serbian/Srpski ### => Ratko Bucic ### Slovak/Slovensky ### => Ladislav Mihok ### Slovenian/Slovensko ### => Aljosa Us ### Spanish/Espa隳l ### => Marcelo Roccasalva ### Swedish/Svenska ### => Clas Mayer ### Turkish/Trk蔒 ### => 畤gr C. Demir ### Ukrainian/廱畛形衯佹 ### => 鬌痀百 諆穻峖昑訰 ### Ukrainian/迾譇遵嬿罻 ### => Olexander Kunytsa ### ### Contributions and fixes by: ### ### 0.05 fixed DARK GREEN entry (msn@ipt.dtu.dk) ### fixed credits for native language (msn@ipt.dtu.dk) ### 0.06 added the PATCHTAGs (msn@ipt.dtu.dk) ### fixed several small errors (msn@ipt.dtu.dk) ### 0.07 changed PATCHTAG to support ### mergelocale.pl (msn@ipt.dtu.dk) ### ###################################################################### ### package locales_mrtg; require 5.002; use strict; use vars qw(@ISA @EXPORT $VERSION); use Exporter; $VERSION = '0.07'; @ISA = qw(Exporter); @EXPORT = qw ( &english &big5 &brazilian &bulgarian &catalan &chinese &croatian &czech &danish &dutch &estonian &eucjp &german &french &galician &gb &gb2312 &german &greek &hungarian &icelandic &indonesia &iso2022jp &italian &korean &lithuanian &macedonian &malay &norwegianh &polish &portuguese &romanian &russian &russian1251 &serbian &slovak &slovenian &spanish &swedish &turkish &ukrainian &ukrainian1251 ); %lang2tran::LOCALE= ( 'english' => \&english, 'default' => \&english, 'big5' => \&big5, '中文繁體' => \&big5, 'brazil' => \&brazilian, 'brazilian' => \&brazilian, 'bulgarian' => \&bulgarian, '朄鍺僦齕' => \&bulgarian, 'catalan' => \&catalan, 'catalan' => \&catalan, 'chinese' => \&chinese, '潠极笢恅' => \&chinese, 'croatian' => \&croatian, 'hrvatski' => \&croatian, 'czech' => \&czech, 'danish' => \&danish, 'dansk' => \&danish, 'dutch' => \&dutch, 'nederlands' => \&dutch, 'estonian' => \&estonian, 'eesti' => \&estonian, 'eucjp' => \&eucjp, 'euc-jp' => \&eucjp, 'finnish' => \&finnish, 'suomi' => \&finnish, 'french' => \&french, 'francais' => \&french, 'galician' => \&galician, 'galego' => \&galician, 'gb' => \&gb, '潠极犖趼' => \&gb, 'gb2312' => \&gb2312, '笢恅潠极' => \&gb2312, 'german' => \&german, 'german' => \&german, 'greek' => \&greek, 'ellinika' => \&greek, 'hungarian' => \&hungarian, 'magyar' => \&hungarian, 'icelandic' => \&icelandic, 'islenska' => \&icelandic, 'indonesia' => \&indonesia, 'indonesian' => \&indonesia, 'iso2022jp' => \&iso2022jp, 'iso-2022-jp' => \&iso2022jp, 'italian' => \&italian, 'italiano' => \&italian, 'korean' => \&korean, 'lithuanian' => \&lithuanian, 'lietuvi簥ai' => \&lithuanian, 'macedonian' => \&macedonian, 'makedonski' => \&macedonian, 'malay' => \&malay, 'malaysian' => \&malay, 'norwegian' => \&norwegian, 'norsk' => \&norwegian, 'polish' => \&polish, 'polski' => \&polish, 'portuguese' => \&portuguese, 'romanian' => \&romanian, 'rom緋' => \&romanian, 'russian' => \&russian, '藑衶侂' => \&russian, 'russian1251' => \&russian1251, '唒嚭膱1251' => \&russian1251, 'serbian' => \&serbian, 'slovak' => \&slovak, 'slovenian' => \&slovenian, 'spanish' => \&spanish, 'espanol' => \&spanish, 'swedish' => \&swedish, 'svenska' => \&swedish, 'turkish' => \&turkish, 'turkce' => \&turkish, 'ukrainian' => \&ukrainian, '廱畛形衯佹' => \&ukrainian, 'ukrainian1251' => \&ukrainian1251, '迾譇遵嬿罻1251' => \&ukrainian1251, ); %credits::LOCALE= ( # default 'default' => "
Prepared for localization by Morten S. Nielsen <msn\@ipt.dtu.dk>", # Chinese/中文繁體 'big5' => "
中文化作者 Tate Chen <tate\@joy-tech.com.tw> and Donlong <donlong\@seed.net.tw> ", # Brazil/brazilian 'brazilian' => "
Localização efetuada por Luiz Felipe R E <luizfelipe\@encarnacao.com>", # Bulgarian/韓鍺僦齕 'bulgarian' => "
呧罻錒諘灕 縺 朄鍺僦齕 樄鴀: 旮瞃 咈憼謥 <yovko\@sdf.lonestar.org>", # catalan/catalan 'catalan' => "
Preparat per a localitzaci per: LLu疄 Gras ", # Simplified Chinese/潠极笢恅 'chinese' => "
潠极笢恅犖趙 暀鎖彆 <gamago\@sina.com>", # Croatian/hrvatski 'croatian' => "
Hrvatska lokalizacija - Dinko Korunic <kreator\@fly.srk.fer.hr>", # Czech/esky 'czech' => "
esk p鷫klad p鷡pravil Martin Och <martin\@och.cz>", # Danish/dansk 'danish' => "
Forberedt for sprog samt oversat til dansk af Morten S. Nielsen <msn\@ipt.dtu.dk>", # the danish string means: "Prepared for languages and translated to danish by" # Dutch/nederlands 'dutch' => "
Vertaald naar het Nederlands door Barry van Dijk <barry\@dijk.com>", # Estonian/Eesti 'estonian' => "
Tõlge eesti keelde Klemens Kasemaa <klem\@linux.ee>", # the estonian string means: "Translation to estonian by" # eucjp/euc-jp 'eucjp' => "
ゥ呿賄沭(EUC-JP)綜嶽 縈噢 妐そ <uematsu\@kgz.com> ", # Finnish/Suomi 'finnish' => "
Lokalisoinut Jussi Siponen <jussi.siponen\@online.tietokone.fi>", # the Finnish string means: "Localized by" # French/francais 'french' => "
Localisation effectuée par Fabrice Prigent <fabrice.prigent\@univ-tlse1.fr>", # Galician/Galego 'galician' => "
Traducido ao galego por David Garabana Barro <dgaraban\@arrakis.es> ", # Chinese/潠极犖趼 'gb' => "
中文化作者 Hui Zhang <zhanghui\@asiainfo.com>", # Chinese/笢恅潠极 'gb2312' => "
笢恅趙釬氪 Peter Wong &webmaster\@tcpip.com.cn>", # German/deutsch 'german' => "
Vorbereitet fr die Lokalisation von Ilja Pavkovic <illsen\@gumblfarz.de>", # Greek/Ellinika 'greek' => "
哢櫇鐐濇摷葐 黀 槶錣臄縔 摫 鐐 豗斀 拻臄轕錭 <S.Xenitellis\@hellug.gr>", # Hungarian/magyar 'hungarian' => "
Magyarosította Nagy Levente <levinet\@euroweb.hu>", # the hungarian string means: "Prepared for languages and translated to Hungarian by" # Icelandic/islenska 'icelandic' => "
Þýtt yfir á íslensku af Halldór Karl Högnason <halldor.hognason\@islandssimi.is>", # Indonesian/Indonesia 'indonesia' => "
Terjemahan ke bahasa Indonesia oleh: Jamaludin Ahmad <jamaludin\@jamalinux.com>", # iso2022jp/iso-2022-jp 'iso2022jp' => "
\e\$BF|K\\8lLu\e(B(ISO-2022-JP)\e\$B:n\@.\e(B \e\$B?\">>\e(B \e\$BJ8FA\e(B <uematsu\@kgz.com> ", # Italian/Italiano 'italian' => "
Localizzazione effettuata da Andrea Rossi <rouge\@shiny.it>", # korean ,'korean' => "
и旋詭衛雖 廓羲: 盒Ф ,譆遽 ", # Lithuanian/lietuvi簥ai 'lithuanian' => "
Paruo謻 ir lietuvi kalb i繗ert ve <ve\@hardcore.lt>", # the lithuanian string means: "Prepared for languages and translated to lithuanian by" # Macedonian/makedonski 'macedonian' => "
Makedonska lokalizacija - Delev D Zoran <delevz\@esmak.com.mk>", # the macedonian string means: "Prepared for languages and translated to macedonian by" # Malaysian/Malay 'malay' => "
Terjemahan ke bahasa Malaysia/Indonesia oleh: Assakhof Ab. Satar <assakhof\@mimos.my>", # Danish/dansk 'norwegian' => "
Oversatt til norsk av Knut Gr鷢eng <knut.groneng\@merkantildata.no>", # the norwegian string means: "Translated to norwegian by" # Polish/polski 'polish' => "
Polska lokalizacja Lukasz Jokiel <Lukasz.Jokiel\@klonex.com.pl>", # Portugu瘰/portuguese 'portuguese' => "
Traduzido por Diogo Gomes etdgomes\@ua.pt", # Rom緋/romanian 'romanian' => "
Tradus de J霩sef Szil墔yi <jozsi\@maxiq.ro>", # Russian/藑衶侂 'russian' => "
蟔疻豜 恔 眙衶侂 栚椊: 颮尕疶 鯠袬畷恂 <mitya\@cavia.pp.ru>", # Russian1251/唒嚭膱1251 'russian1251' => "
盷謥碭 縺 賾嚭膱 踑 (膰儰豂瞃 1251): 燭樏黟罽 凎噘 <aredyuk\@irmcity.com>", # Serbian/Srpski 'serbian' => "
Ported to Serbian by / Srpski prevod uradio: Ratko Bu鋱 <ratko\@ni.ac.yu>", # Slovak/Slovensky 'slovak' => "
Slovensk preklad pripravil Ing. Ladislav Mihok <laco\@mrokh.shmu.sk>", # Slovenian/Slovensko 'slovenian' => "
Slovenski prevod pripravil Aljosa Us <us\@sweet-sorrow.com>", # Spanish/espa隳l 'spanish' => "
Preparado para localizaci鏮 por Marcelo Roccasalva ", # Swedish/Svenska 'swedish' => "
Översatt till svenska av Clas Mayer <clas\@mayer.se>", # the Swedish string means: "Prepared for languages and translated to Swedish by" # Turkish/Trk蔒 'turkish' => "
Trk蔒letiren 畤gr C. Demir ", # Ukrainian/廱畛形衯佹 'ukrainian' => "
蟔疻佮謐 恔 梖畛形衯劼 迍赹: 鬌痀百 諆穻峖昑訰 <gray\@arte-fact.net>", # Ukrainian1251/迾譇遵嬿罻1251 'ukrainian1251' => "
盷謥膹馯 鵳譇遵嬿膰 (cp1251): 昶樏黟罽 扷膻 <xakep\@snark.ukma.kiev.ua>", ); $credits::LOCALE{'中文繁體'}=$credits::LOCALE{'big5'}; $credits::LOCALE{'brazil'}=$credits::LOCALE{'brazilian'}; $credits::LOCALE{'朄鍺僦齕'}=$credits::LOCALE{'bulgarian'}; $credits::LOCALE{'catalan'}=$credits::LOCALE{'catalan'}; $credits::LOCALE{'潠极笢恅'}=$credits::LOCALE{'Chinese'}; $credits::LOCALE{'hrvatski'}=$credits::LOCALE{'croatian'}; $credits::LOCALE{'czech'}=$credits::LOCALE{'czech'}; $credits::LOCALE{'dansk'}=$credits::LOCALE{'danish'}; $credits::LOCALE{'nederlands'}=$credits::LOCALE{'dutch'}; $credits::LOCALE{'eesti'}=$credits::LOCALE{'estonian'}; $credits::LOCALE{'euc-jp'}=$credits::LOCALE{'eucjp'}; $credits::LOCALE{'finnish'}=$credits::LOCALE{'finnish'}; $credits::LOCALE{'francais'}=$credits::LOCALE{'french'}; $credits::LOCALE{'galego'}=$credits::LOCALE{'galician'}; $credits::LOCALE{'潠极犖趼'}=$credits::LOCALE{'gb'}; $credits::LOCALE{'笢恅潠极'}=$credits::LOCALE{'gb2312'}; $credits::LOCALE{'deutsch'}=$credits::LOCALE{'german'}; $credits::LOCALE{'ellinika'}=$credits::LOCALE{'greek'}; $credits::LOCALE{'magyar'}=$credits::LOCALE{'hungarian'}; $credits::LOCALE{'islenska'}=$credits::LOCALE{'icelandic'}; $credits::LOCALE{'indonesian'}=$credits::LOCALE{'indonesia'}; $credits::LOCALE{'iso-2022-jp'}=$credits::LOCALE{'iso2022jp'}; $credits::LOCALE{'italiano'}=$credits::LOCALE{'italian'}; $credits::LOCALE{'korean'}=$credits::LOCALE{'korean'}; $credits::LOCALE{'lietuvi簥ai'}=$credits::LOCALE{'lithuanian'}; $credits::LOCALE{'macedonian'}=$credits::LOCALE{'macedonian'}; $credits::LOCALE{'malaysian'}=$credits::LOCALE{'malay'}; $credits::LOCALE{'norsk'}=$credits::LOCALE{'norwegian'}; $credits::LOCALE{'polski'}=$credits::LOCALE{'polish'}; $credits::LOCALE{'portuguese'}=$credits::LOCALE{'portuguese'}; $credits::LOCALE{'rom緋'}=$credits::LOCALE{'romanian'}; $credits::LOCALE{'藑衶侂'}=$credits::LOCALE{'russian'}; $credits::LOCALE{'唒嚭膱1251'}=$credits::LOCALE{'russian1251'}; $credits::LOCALE{'serbian'}=$credits::LOCALE{'serbian'}; $credits::LOCALE{'slovak'}=$credits::LOCALE{'slovak'}; $credits::LOCALE{'slovenian'}=$credits::LOCALE{'slovenian'}; $credits::LOCALE{'espanol'}=$credits::LOCALE{'spanish'}; $credits::LOCALE{'svenska'}=$credits::LOCALE{'swedish'}; $credits::LOCALE{'turkce'}=$credits::LOCALE{'turkish'}; $credits::LOCALE{'廱畛形衯佹'}=$credits::LOCALE{'ukrainian'}; $credits::LOCALE{'迾譇遵嬿罻1251'}=$credits::LOCALE{'ukrainian1251'}; # English - default sub english { return shift; }; # Chinese Big5 Code sub big5 { 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=big5', 'Maximal 5 Minute Incoming Traffic' => '5分鐘最大流入量', 'Maximal 5 Minute Outgoing Traffic' => '5分鐘最大流出量', 'the device' => '裝置', 'The statistics were last updated(.*)' => '上次統計更新時間: $1', ' Average\)
' => ' 平均)
', 'Average(.*)' => '平均$1', 'Max(.*)' => '最大$1', 'Current(.*)' => '目前$1', '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,已運作時間(UPTIME): $2', '(.+)/s$' => '$1/秒', '(.+)/min$' => '$1/分', '(.+)/h$' => '$1/時', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:
' => ' 流入:
', ' Out:
' => ' 流出:', ' Percentage' => ' 百分比:', 'Ported to OpenVMS Alpha by' => '移植到 OpenVM 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]} ) { @quux=split(/at/,$foo[3]); if($foo[3]=~(/(.*)at(.*)/)) { $foo[3]=$quux[0]; $foo[4]=$quux[1]; }; return "$foo[3] $month{$foo[2]} $foo[1] 日, $wday{$foo[0]}, $foo[4]"; }; # # 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; }; # Brazilian (Portugues) sub brazilian { 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' => 'Tráfego Máximo de Entrada em 5 minutos', 'Maximal 5 Minute Outgoing Traffic' => 'Tráfego Máximo de Saída em 5 minutos', 'the device' => 'dispositivo', 'The statistics were last updated (.*)' => 'Última atualização das estatísticas: $1', ' Average\)
' => ' - média)

', 'Average(.*)' => 'Média$1', 'Max(.*)' => 'Máx$1', 'Current(.*)' => 'Atual$1', 'version' => 'versão', '`Daily\' Graph \((.*) Minute' => 'Gráfico `Diário\' ($1 minutos', '`Weekly\' Graph \(30 Minute' => 'Gráfico `Semanal\' (30 minutos' , '`Monthly\' Graph \(2 Hour' => 'Gráfico `Mensal\' (2 horas', '`Yearly\' Graph \(1 Day' => 'Gráfico `Anual\' (1 dia', 'Incoming Traffic in (\S+) per Second' => 'Tráfego de Entrada em $1 por segundo', 'Outgoing Traffic in (\S+) per Second' => 'Tráfego de Saída em $1 por segundo', 'at which time (.*) had been up for(.*)' => 'nesta hora $1 estava online por $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Ent:', ' Out:' => ' Saí:', ' Percentage' => ' Per:', 'Ported to OpenVMS Alpha by' => 'Adaptado para OpenVMS Alpha por', 'Ported to WindowsNT by' => 'Adaptado para WindowsNT por', 'and' => 'e', '^GREEN' => 'VERDE', 'BLUE' => 'AZUL', 'DARK GREEN' => 'VERDE ESCURO', 'MAGENTA' => 'LILÁS', 'AMBER' => 'AMBAR' ); # 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' => 'Domingo', 'Sun' => 'Dom', 'Monday' => 'Segunda', 'Mon' => 'Seg', 'Tuesday' => 'Terça', 'Tue' => 'Ter', 'Wednesday' => 'Quarta', 'Wed' => 'Qua', 'Thursday' => 'Quinta', 'Thu' => 'Qui', 'Friday' => 'Sexta', 'Fri' => 'Sex', 'Saturday' => 'Sábado', 'Sat' => 'Sáb' ); %month = ( 'January' => 'Janeiro', 'February' => 'Fevereiro' , 'March' => 'Março', 'Jan' => 'Jan', 'Feb' => 'Fev', 'Mar' => 'Mar', 'April' => 'Abril', 'May' => 'Maio', 'June' => 'Junho', 'Apr' => 'Abr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Julho', 'August' => 'Agosto', 'September' => 'Setembro', 'Jul' => 'Jul', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Outubro', 'November' => 'Novembro', 'December' => 'Dezembro', 'Oct' => 'Out', '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]." às ".$quux[1]; }; return "$wday{$foo[0]}, $foo[1] de $month{$foo[2]} de $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; }; # Bulgarian sub bulgarian { 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=windows-1251', 'Maximal 5 Minute Incoming Traffic' => '枟膲鳻鳪樇 碬鍱 襝僳鴀 諘 5 擯薃蠂', 'Maximal 5 Minute Outgoing Traffic' => '枟膲鳻鳪樇 鳿羻 襝僳鴀 諘 5 擯薃蠂', 'the device' => '鵨襝鍣嚦碭襜', 'The statistics were last updated(.*)' => '栺僗黓蠂灚齕鼏 魡臇 黟 闅灚蠈膻 縺: $1', ' Average\)
' => ' 嚫槼膼)

', 'Average(.*)' => '栮槼膼$1', 'Max(.*)' => '枟膲.$1', 'Current(.*)' => '砱膧$1', '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$1/鼫', #'([kMG]?)([bB])/min' => '$1$2/擯', '([kMG]?)([bB])/h' => '$1$2/', 'Bits' => '摜蠉', '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)." 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; }; # catalan sub catalan { 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... %translations = ( 'charset=iso-8859-1' => 'charset=iso-8859-1', 'Maximal 5 Minute Incoming Traffic' => 'Tràfic entrant màxim en 5 minuts', 'Maximal 5 Minute Outgoing Traffic' => 'Tràfic sortint màxim en 5 minuts', 'the device' => 'el dispositiu', 'The statistics were last updated(.*)' => 'Estadístiques actualitzades el $1', ' Average\)
' => ' Promig)

', 'Average(.*)' => 'Promig $1', 'Max(.*)' => 'Màxim$1', 'Current(.*)' => 'Actual$1', 'version' => 'versió', '`Daily\' Graph \((.*) Minute' => 'Gràfic diari ($1 minuts :', '`Weekly\' Graph \(30 Minute' => 'Gràfic setmanal (30 minuts :' , '`Monthly\' Graph \(2 Hour' => 'Gràfic mensual (2 hores :', '`Yearly\' Graph \(1 Day' => 'Gràfic anual (1 dia :', 'Incoming Traffic in (\S+) per Second' => 'Tràfic entrant en $1 per segon', 'Outgoing Traffic in (\S+) per Second' => 'Tràfic sortint en $1 per segon', 'at which time (.*) had been up for(.*)' => '$1 ha estat funcionant durant $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Entrant:', ' Out:' => ' Sortint:', ' Percentage' => ' Percentatge:', 'Ported to OpenVMS Alpha by' => 'Portat a OpenVMS Alpha per', 'Ported to WindowsNT by' => 'Portat a WindowsNT per', 'and' => 'i', '^GREEN' => 'VERD', 'BLUE' => 'BLAU', 'DARK GREEN' => 'VERD FOSC', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'AMBAR' ); # 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' => 'Diumenge', 'Sun' => 'Dg', 'Monday' => 'Dilluns', 'Mon' => 'Dl', 'Tuesday' => 'Dimarts', 'Tue' => 'Dm', 'Wednesday' => 'Dimecres', 'Wed' => 'Dc', 'Thursday' => 'Dijous', 'Thu' => 'Dj', 'Friday' => 'Divendres', 'Fri' => 'Dv', 'Saturday' => 'Dissabte', 'Sat' => 'Ds' ); %month = ( 'January' => 'Gener', 'February' => 'Febrer' , 'March' => 'Mar', 'Jan' => 'Gen', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'Abril', 'May' => 'Maig', 'June' => 'Juny', 'Apr' => 'Abr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Juliol', 'August' => 'Agost', 'September' => 'Setembre', 'Jul' => 'Jul', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Octubre', 'November' => 'Novembre', 'December' => 'Desembre', 'Oct' => 'Oct', 'Nov' => 'Nov', 'Dec' => 'Des' ); @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]." a les ".$quux[1]; }; return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]"; }; return $string; }; # Simplified Chinese sub chinese { 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... %translations = ( 'charset=iso-8859-1' => 'charset=gb2312', 'Maximal 5 Minute Incoming Traffic' => '5煦笘郔湮霜蹅', 'Maximal 5 Minute Outgoing Traffic' => '5煦笘郔湮霜堤講', 'the device' => '扢掘', 'The statistics were last updated(.*)' => '郔綴苀數載陔奀潔ㄩ$1', ' Average\)
' => ' す歙)

', 'Average(.*)' => 'す歙$1', 'Max(.*)' => '郔湮$1', 'Current(.*)' => '絞ヶ$1', '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/鏃', '([kMG]?)([bB])/min' => '\$1\$2/煦', '([kMG]?)([bB])/h' => '$1$2/奀', # 'Bits' => 'Bits', # 'Bytes' => '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' => ' 堎', 'April' => ' 侐 堎', 'May' => ' 拻 堎', 'June' => ' 鞠 堎', 'July' => ' ほ 堎', 'August' => ' 匐 堎', 'September' => ' 嬝 堎', 'October' => ' 坋 堎', 'November' => '坋珨堎', 'December' => '坋媼堎', 'Jan' => 'ㄠ堎', 'Feb' => 'ㄡ堎', 'Mar' => 'ㄢ堎', 'Apr' => 'ㄣ堎', 'May' => 'ㄤ堎', 'Jun' => 'ㄥ堎', 'Jul' => 'ㄦ堎', 'Aug' => 'ㄧ堎', 'Sep' => 'ㄨ堎', 'Oct' => '10堎', 'Nov' => '11堎', 'Dec' => '12堎' ); @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]; $foo[4]=$quux[1]; }; return "$foo[3]爛 $month{$foo[2]} $foo[1] ㄛ$wday{$foo[0]} ㄛ$foo[4]"; }; # # 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; }; sub croatian { 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-2', 'Maximal 5 Minute Incoming Traffic' => 'Maksimalni ulazni promet unutar 5 minuta', 'Maximal 5 Minute Outgoing Traffic' => 'Maksimalni izlazni promet unutar 5 minuta', 'the device' => 'ure簜j', 'The statistics were last updated(.*)' => 'Statistike su zadnji puta izmijenjene $1', ' Average\)
' => ' prosje鋝a vrijednost)

', 'Average(.*)' => 'Prosje鋝o$1', 'Max(.*)' => 'Maksimalno$1', 'Current(.*)' => 'Trenutno$1', 'version' => 'verzija', '`Daily\' Graph \((.*) Minute' => 'Dnevne statistike (svakih $1 minuta', '`Weekly\' Graph \(30 Minute' => 'Tjedne statistike (svakih 30 minuta' , '`Monthly\' Graph \(2 Hour' => 'Mjese鋝e statistike (svakih 2 sata', '`Yearly\' Graph \(1 Day' => 'Godi雉je statistike (svaki 1 dan', 'Incoming Traffic in (\S+) per Second' => 'Ulazni promet - $1 po sekundi', 'Outgoing Traffic in (\S+) per Second' => 'Izlazni promet - $1 po sekundi', 'at which time (.*) had been up for(.*)' => 'gdje $1 je bio aktivan $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/g', 'Bits' => 'Bitova', 'Bytes' => 'Bajtova', ' In:' => ' Unutra:', ' Out:' => ' Van:', ' Percentage' => ' Postotak:', 'Ported to OpenVMS Alpha by' => 'Port na OpenVMS Alpha od', 'Ported to WindowsNT by' => 'Post od WindowsNT od', 'and' => 'i', '^GREEN' => 'ZELENA', 'BLUE' => 'PLAVA', 'DARK GREEN' => 'TAMNO ZELENA', 'MAGENTA' => 'LJUBIASTA', 'AMBER' => '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' => 'Nedjelja', 'Sun' => 'Ned', 'Monday' => 'Ponedjeljak', 'Mon' => 'Pon', 'Tuesday' => 'Utorak', 'Tue' => 'Uto', 'Wednesday' => 'Srijeda', 'Wed' => 'Sri', 'Thursday' => 'etvrtak', 'Thu' => 'et', 'Friday' => 'Petak', 'Fri' => 'Pet', 'Saturday' => 'Subota', 'Sat' => 'Sub' ); %month = ( 'January' => 'Sije醀nj', 'February' => 'Velja醀', 'March' => 'O骷jak', 'Jan' => 'Sij', 'Feb' => 'Vel', 'Mar' => 'O骷', 'April' => 'Travanj', 'May' => 'Svibanj', 'June' => 'Lipanj', 'Apr' => 'Tra', 'May' => 'Svi', 'Jun' => 'Lip', 'July' => 'Srpanj', 'August' => 'Kolovoz', 'September' => 'Rujan', 'Jul' => 'Srp', 'Aug' => 'Kol', 'Sep' => 'Ruj', 'October' => 'Listopad', 'November' => 'Studeni', 'December' => 'Prosinac', 'Oct' => 'Lis', 'Nov' => 'Stu', 'Dec' => 'Pro' ); @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]." godine"." u".$quux[1]; }; return "$wday{$foo[0]} dana $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; }; # Czech sub czech { 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=windows-1250', 'Maximal 5 Minute Incoming Traffic' => 'Maxim嫮n 5 minutov p齶choz tok', 'Maximal 5 Minute Outgoing Traffic' => 'Maxim嫮n 5 minutov odchoz tok', 'the device' => 'za齶zen', 'The statistics were last updated(.*)' => 'Posledn aktualizace statistiky:$1', ' Average\)
' => ' pr籯鬳)

', 'Average(.*)' => 'Pr籯.$1', 'Max(.*)' => 'Max.$1', 'Current(.*)' => 'Akt.$1', 'version' => 'verze', '`Daily\' Graph \((.*) Minute' => 'Denn graf ($1 minutov', '`Weekly\' Graph \(30 Minute' => 'Tdenn graf (30 minutov' , '`Monthly\' Graph \(2 Hour' => 'M鮀膻n graf (2 hodinov', '`Yearly\' Graph \(1 Day' => 'Ro鋝 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璫o restartu $1 ub駩lo: $2', #'([kMG]?)([bB])/s' => '\$1\$2/s', #'([kMG]?)([bB])/min' => '\$1\$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'bitech', 'Bytes' => 'bajtech', #' In:' => ' In:', #' Out:' => ' Out:', ' 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骴e', 'Sun' => 'Ne', 'Monday' => 'Pond骴i', 'Mon' => 'Po', 'Tuesday' => '猲er', 'Tue' => '猲', 'Wednesday' => 'St鷫da', 'Wed' => 'St', 'Thursday' => 'tvrtek', 'Thu' => 't', 'Friday' => 'P嫢ek', 'Fri' => 'P', 'Saturday' => 'Sobota', 'Sat' => 'So' ); %month = ( 'January' => 'Leden', 'February' => '猋or', 'March' => 'B鷫zen', 'Jan' => 'Leden', 'Feb' => '猋or', 'Mar' => 'B鷫zen', 'April' => 'Duben', 'May' => 'Kv鮅en', 'June' => 'erven', 'Apr' => 'Duben', 'May' => 'Kv鮅en', '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; } # # Danish sub danish { 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' => 'Maksimal indgående trafik i 5 minutter', 'Maximal 5 Minute Outgoing Traffic' => 'Maksimal udgående trafik i 5 minutter', 'the device' => 'enheden', 'The statistics were last updated(.*)' => 'Statistikken blev sidst opdateret$1', ' Average\)
' => ' Middel)

', 'Average(.*)' => 'Middel$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Nu$1', 'version' => 'version', '`Daily\' Graph \((.*) Minute' => '`Daglig\' graf ($1 minuts', '`Weekly\' Graph \(30 Minute' => '`Ugentlig\' graf (30 minuts' , '`Monthly\' Graph \(2 Hour' => '`Månedlig\' graf (2 times', '`Yearly\' Graph \(1 Day' => '`Årlig\' graf (1 dags', 'Incoming Traffic in (\S+) per Second' => 'Indgående trafik i $1 per sekund', 'Outgoing Traffic in (\S+) per Second' => 'Udgående trafik i $1 per sekund', 'at which time (.*) had been up for(.*)' => 'hvor $1 havde været oppe 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:' => ' Ind:', ' Out:' => ' Ud:', ' Percentage' => ' Procent:', 'Ported to OpenVMS Alpha by' => 'Port til OpenVMS af', 'Ported to WindowsNT by' => 'Port til WindowsNT af', 'and' => 'og', '^GREEN' => 'GRØN', 'BLUE' => 'BLÅ', 'DARK GREEN' => 'MØRKEGRØN', 'MAGENTA' => 'LYSLILLA', 'AMBER' => 'RAV' ); # 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' => 'Mandag', 'Mon' => 'Man', 'Tuesday' => 'Tirsdag', 'Tue' => 'Tir', 'Wednesday' => 'Onsdag', 'Wed' => 'Ons', 'Thursday' => 'Torsdag', 'Thu' => 'Tor', 'Friday' => 'Fredag', 'Fri' => 'Fre', 'Saturday' => 'Lørdag', 'Sat' => 'Lør' ); %month = ( 'January' => 'Januar', 'February' => 'Februar' , 'March' => 'Marts', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'April', 'May' => 'Maj', 'June' => 'Juni', 'Apr' => 'Apr', 'May' => 'Maj', 'Jun' => 'Jun', 'July' => 'Juli', 'August' => 'August', '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; }; # Dutch sub dutch { 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... %translations = ( #'charset=iso-8859-1' => 'charset=iso-8859-1', 'Maximal 5 Minute Incoming Traffic' => 'Maximaal inkomend verkeer per 5 minuten', 'Maximal 5 Minute Outgoing Traffic' => 'Maximaal uitgaand verkeer per 5 minuten', 'the device' => 'het apparaat', 'The statistics were last updated(.*)' => 'Statistieken voor het laatst bijgewerkt op$1', ' Average\)
' => ' gemiddeld)

', 'Average(.*)' => 'Gemiddeld$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Actueel$1', 'version' => 'versie', '`Daily\' Graph \((.*) Minute' => '`Dagelijkse\' grafiek ($1 minuten', '`Weekly\' Graph \(30 Minute' => '`Weekelijkse\' grafiek (30 minuten' , '`Monthly\' Graph \(2 Hour' => '`Maandelijkse\' grafiek (2 uur', '`Yearly\' Graph \(1 Day' => '`Jaarlijkse\' grafiek (1 dag', 'Incoming Traffic in (\S+) per Second' => 'Inkomend verkeer in $1 per seconde', 'Outgoing Traffic in (\S+) per Second' => 'Uitgaand verkeer in $1 per seconde', 'at which time (.*) had been up for(.*)' => 'op het moment dat $1 reeds actief is voor$2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/u', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' # ' In:' => ' In:', ' Out:' => ' Uit:', ' Percentage' => ' Procent:', 'Ported to OpenVMS Alpha by' => 'Ported naar OpenVMS door', 'Ported to WindowsNT by' => 'Ported naar WindowsNT door', 'and' => 'en', 'DARK GREEN' => 'DONKER GROEN', '^GREEN' => 'GROEN', 'BLUE' => 'BLAUW', 'MAGENTA' => 'LILA', 'AMBER' => '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' => 'Zondag', 'Sun' => 'Zon', 'Monday' => 'Maandag', 'Mon' => 'Maa', 'Tuesday' => 'Dinsdag', 'Tue' => 'Din', 'Wednesday' => 'Woensdag', 'Wed' => 'Woe', 'Thursday' => 'Donderdag', 'Thu' => 'Don', 'Friday' => 'Vrijdag', 'Fri' => 'Vri', 'Saturday' => 'Zaterdag', 'Sat' => 'Zat' ); %month = ( 'January' => 'Januari', 'February' => 'Februari', 'March' => 'Maart', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mrt', 'April' => 'April', 'May' => 'Mei', 'June' => 'Juni', 'Apr' => 'Apr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Juli', 'August' => 'Augustus', '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]." om".$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; }; # Estonian sub estonian { 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' => '5 minuti maksimaalne sisenev liiklus', 'Maximal 5 Minute Outgoing Traffic' => '5 minuti maksimaalne väljuv liiklus', 'the device' => 'seade', 'The statistics were last updated(.*)' => 'Statistikat uuendati viimati$1', ' Average\)
' => ' keskmine)

', 'Average(.*)' => 'Keskmine$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Hetkel$1', 'version' => 'versioon', '`Daily\' Graph \((.*) Minute' => '`Päevane\' graafik ($1 minuti', '`Weekly\' Graph \(30 Minute' => '`Nädala\' graafik (30 minuti' , '`Monthly\' Graph \(2 Hour' => '`Kuu \' graafik (2 tunni', '`Yearly\' Graph \(1 Day' => '`Aasta\' graafik (1 päeva', 'Incoming Traffic in (\S+) per Second' => 'Sisenev liiklus $1 sekundi kohta', 'Outgoing Traffic in (\S+) per Second' => 'Väljuv liiklus $1 sekundi kohta', 'at which time (.*) had been up for(.*)' => 'kui $1 on katkematult töötanud$2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/t', 'Bits' => 'bitti', 'Bytes' => 'baiti', ' In:' => ' sisse:', ' Out:' => ' välja:', ' Percentage' => ' protsent:', 'Ported to OpenVMS Alpha by' => 'portis OpenVMS-le:', 'Ported to WindowsNT by' => 'portis WindowsNT-le:', 'and' => 'ja', '^GREEN' => 'ROHELINE', 'BLUE' => 'SININE', 'DARK GREEN' => 'TUMEROHELINE', 'MAGENTA' => 'LILLA', 'AMBER' => 'HELEROHELINE' ); # 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' => 'pühapäev', 'Sun' => 'P', 'Monday' => 'esmaspäev', 'Mon' => 'E', 'Tuesday' => 'teisipäev', 'Tue' => 'T', 'Wednesday' => 'kolmapäev', 'Wed' => 'K', 'Thursday' => 'neljapäev', 'Thu' => 'N', 'Friday' => 'reede', 'Fri' => 'R', 'Saturday' => 'laupäev', 'Sat' => 'L' ); %month = ( 'January' => 'jaanuar', 'February' => 'veebruar' , 'March' => 'märts', 'Jan' => 'jaan', 'Feb' => 'veebr', 'Mar' => 'märts', 'April' => 'aprill', 'May' => 'mai', 'June' => 'juuni', 'Apr' => 'aprill', 'May' => 'mai', 'Jun' => 'juuni', 'July' => 'juuli', 'August' => 'august', 'September' => 'september', 'Jul' => 'juuli', 'Aug' => 'aug', 'Sep' => 'sept', 'October' => 'oktoober', 'November' => 'november', 'December' => 'detsember', 'Oct' => 'okt', 'Nov' => 'nov', 'Dec' => 'dets' ); @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]}, $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; }; # eucjp sub eucjp { 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=euc-jp', 'Maximal 5 Minute Incoming Traffic' => '瘉釐熬耨恟(5坌棉尪剽)', 'Maximal 5 Minute Outgoing Traffic' => '瘉釐霜耨恟(5坌棉尪剽)', 'the device' => '犯田奶旦', 'The statistics were last updated(.*)' => '瘉蔽凳蕙ゥ凜$1', ' Average\)
' => '尪剽)

', 'Average(.*)' => '尪剽襖$1', 'Max(.*)' => '瘉釐襖$1', 'Current(.*)' => '蜇箕襖$1', 'version' => '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/卍', '([kMG]?)([bB])/min' => '$1$2/坌', '([kMG]?)([bB])/h' => '$1$2/凜棉', 'Bits' => '申永玄', 'Bytes' => '田奶玄', ' In:' => ' 熬耨:', ' Out:' => ' 霜耨:', ' Percentage' => ' 喃寧:', 'Ported to OpenVMS Alpha by' => 'OpenVMS AlphaМ轃', 'Ported to WindowsNT by' => 'WindowsNTМ轃', 'and' => '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' => 'Sun', 'Monday' => '(畸)', #'Mon' => 'Mon', 'Tuesday' => '(紹)', #'Tue' => 'Tue', 'Wednesday' => '(踹)', #'Wed' => 'Wed', 'Thursday' => '(枆)', #'Thu' => 'Thu', 'Friday' => '(嗯)', #'Fri' => 'Fri', 'Saturday' => '(蘿)', #'Sat' => 'Sat' ); %month = ( 'January' => '1畸', 'February' => '2畸', 'March' => '3畸', 'April' => '4畸', 'May' => '5畸', 'June' => '6畸', 'July' => '7畸', 'August' => '8畸', 'September' => '9畸', 'October' => '10畸', 'November' => '11畸', 'December' => '12畸', # 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', # 'Apr' => 'Apr', 'May' => 'May', 'Jun' => 'Jun', # 'Jul' => 'Jul', 'Aug' => 'Aug', 'Sep' => 'Sep', # 'Oct' => 'Oct', '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[1].", ".$quux[0]."ヵ"; }; return "$foo[3]$month{$foo[2]}$foo[1]ゥ$wday{$foo[0]}"; }; # # 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; }; # Finnish sub finnish { 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' => 'Tulevan liikenteen maksimi 5 minuutin aikana', 'Maximal 5 Minute Outgoing Traffic' => 'Lähtevän liikenteen maksimi 5 minuutin aikana', 'the device' => 'laite', 'The statistics were last updated(.*)' => 'Tiedot päivitetty viimeksi $1', ' Average\)
' => '', 'Average(.*)' => 'Keskimäärin$1', 'Max(.*)' => 'Maksimi$1', 'Current(.*)' => 'Tällä hetkellä$1', 'version' => 'versio', '`Daily\' Graph \((.*) Minute' => 'Päiväraportti (skaala $1 minuutti(a))
', '`Weekly\' Graph \(30 Minute' => 'Viikkoraportti (skaala 30 minuuttia)
' , '`Monthly\' Graph \(2 Hour' => 'Kuukausiraportti (skaala 2 tuntia)
', '`Yearly\' Graph \(1 Day' => 'Vuosiraportti (skaala 1 vuorokausi)
', 'Incoming Traffic in (\S+) per Second' => 'Tuleva liikenne $1 sekunnissa', 'Outgoing Traffic in (\S+) per Second' => 'Lähtevä liikenne $1 sekunnissa', 'Incoming Traffic in (\S+) per Minute' => 'Tuleva liikenne $1 minuutissa', 'Outgoing Traffic in (\S+) per Minute' => 'Lähtevä liikenne $1 minuutissa', 'Incoming Traffic in (\S+) per Hour' => 'Tuleva liikenne $1 tunnissa', 'Outgoing Traffic in (\S+) per Hour' => 'Lähtevä liikenne $1 tunnissa', 'at which time (.*) had been up for(.*)' => 'jolloin $1 on toiminut yhtäjaksoisesti $2', '(\S+) per minute' => '$1 minuutissa', '(\S+) per hour' => '$1 tunnissa', '(.+)/s$' => '$1/s', # '(.+)/min' => '$1/min', #'(.+)/h$' => '$1/h', #'([kMG]?)([bB])/s' => '$1$2/s', #'([kMG]?)([bB])/min' => '$1$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'bittiä', 'Bytes' => 'tavua', ' In:' => ' Tuleva:', ' Out:' => ' Lähtevä:', ' Percentage' => ' Prosenttia:', 'Ported to OpenVMS Alpha by' => 'OpenVMS -järjestelmälle sovittanut', 'Ported to WindowsNT by' => 'WindowsNT -järjestelmälle sovittanut', 'and' => 'ja', '^GREEN' => 'VIHREÄ', 'BLUE' => 'SININEN', 'DARK GREEN' => 'TUMMANVIHREÄ', 'MAGENTA' => 'PINKKI', 'AMBER' => 'PUNAINEN', ); # 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' => 'Sunnuntai', 'Sun' => 'Su', 'Monday' => 'Maanantai', 'Mon' => 'Ma', 'Tuesday' => 'Tiistai', 'Tue' => 'Ti', 'Wednesday' => 'Keskiviikko', 'Wed' => 'Ke', 'Thursday' => 'Torstai', 'Thu' => 'To', 'Friday' => 'Perjantai', 'Fri' => 'Pe', 'Saturday' => 'Lauantai', 'Sat' => 'La' ); %month = ( 'January' => 'Tammi', 'February' => 'Helmi' , 'March' => 'Maalis', 'Jan' => 'Tam', 'Feb' => 'Hel', 'Mar' => 'Maa', 'April' => 'Huhti', 'May' => 'Touko', 'June' => 'Kesä', 'Apr' => 'Huh', 'May' => 'Tou', 'Jun' => 'Kes', 'July' => 'Heinä', 'August' => 'Elo', 'September' => 'Syys', 'Jul' => 'Hei', 'Aug' => 'Elo', 'Sep' => 'Syy', 'October' => 'Loka', 'November' => 'Marras', 'December' => 'Joulu', 'Oct' => 'Lok', 'Nov' => 'Mar', 'Dec' => 'Kou' ); # # 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"; # @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/); if( $wday{$foo[0]} && $month{$foo[2]} ) { if($foo[3]=~(/(.*)at(.*)/)) { @quux=split(/at/,$foo[3]); $foo[3]=$quux[0]." kello ".$quux[1]; }; return "$wday{$foo[0]}, $foo[1]. $month{$foo[2]} $foo[3]"; }; # 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; }; # French sub french { 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' => 'Trafic maximal en entrée sur 5 minutes', 'Maximal 5 Minute Outgoing Traffic' => 'Trafic maximal en sortie sur 5 minutes', 'the device' => 'le matériel', 'The statistics were last updated(.*)' => 'Les statistiques ont été mises à jour le $1', ' Average\)

' => ' Moyenne)

', 'Average(.*)' => 'Moyenne$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Actuel$1', 'version' => 'version', '`Daily\' Graph \((.*) Minute' => 'Graphique quotidien (sur $1 minutes :', '`Weekly\' Graph \(30 Minute' => 'Graphique hebdomadaire (sur 30 minutes :' , '`Monthly\' Graph \(2 Hour' => 'Graphique mensuel (sur 2 heures :', '`Yearly\' Graph \(1 Day' => 'Graphique annuel (sur 1 jour :', 'Incoming Traffic in (\S+) per Second' => 'Trafic d\'entrée en $1 par seconde', 'Outgoing Traffic in (\S+) per Second' => 'Trafic de sortie en $1 par seconde', 'at which time (.*) had been up for(.*)' => '$1 était alors en marche depuis $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Entrée:', ' Out:' => ' Sortie:', ' Percentage' => ' Pourcentage:', 'Ported to OpenVMS Alpha by' => 'Porté sur OpenVMS Alpha par', 'Ported to WindowsNT by' => 'Porté sur WindowsNT par', 'and' => 'et', '^GREEN' => 'VERT', 'BLUE' => 'BLEU', 'DARK GREEN' => 'VERT SOMBRE', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'AMBRE' ); # 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' => 'Dimanche', 'Sun' => 'Dim', 'Monday' => 'Lundi', 'Mon' => 'Lun', 'Tuesday' => 'Mardi', 'Tue' => 'Mar', 'Wednesday' => 'Mercredi', 'Wed' => 'Mer', 'Thursday' => 'Jeudi', 'Thu' => 'Jeu', 'Friday' => 'Vendredi', 'Fri' => 'Ven', 'Saturday' => 'Samedi', 'Sat' => 'Sam' ); %month = ( 'January' => 'Janvier', 'February' => 'Février' , 'March' => 'Mars', 'Jan' => 'Jan', 'Feb' => 'Fev', 'Mar' => 'Mar', 'April' => 'Avril', 'May' => 'Mai', 'June' => 'Juin', 'Apr' => 'Avr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Juillet', 'August' => 'Août', 'September' => 'Septembre', 'Jul' => 'Jul', 'Aug' => 'Aou', 'Sep' => 'Sep', 'October' => 'Octobre', 'November' => 'Novembre', 'December' => 'Décembre', 'Oct' => 'Oct', '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]." à ".$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; }; # Galician sub galician { 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' => 'Tr&áfico entrante máximo en 5 minutos', 'Maximal 5 Minute Outgoing Traffic' => 'Tr&áfico saínte máximo en 5 minutos', 'the device' => 'o dispositivo', 'The statistics were last updated(.*)' => 'Estas estatísticas actualizáronse o $1', ' Average\)
' => ' de Media)

', 'Average(.*)' => 'Media$1', 'Max(.*)' => 'Máx$1', 'Current(.*)' => 'Actual$1', 'version' => 'versión', '`Daily\' Graph \((.*) Minute' => 'Gráfica diaria ($1 minutos', '`Weekly\' Graph \(30 Minute' => 'Gráfica semanal (30 minutos' , '`Monthly\' Graph \(2 Hour' => 'Gráfica mensual (2 horas', '`Yearly\' Graph \(1 Day' => 'Gráfica anual (1 día', 'Incoming Traffic in (\S+) per Second' => 'Tráfico entrante en $1 por segundo', 'Outgoing Traffic in (\S+) per Second' => 'Tráfico saínte en $1 por segundo', 'at which time (.*) had been up for(.*)' => 'nese intre $1 levaba prendida $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/h', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Entrante:', ' Out:' => ' Saínte:', ' Percentage' => ' Tanto por ciento:', 'Ported to OpenVMS Alpha by' => 'Portado a OpenVMS Alpha por', 'Ported to WindowsNT by' => 'Portado a Windows NT por', 'and' => 'e', '^GREEN' => 'VERDE', 'BLUE' => 'AZUL', 'DARK GREEN' => 'VERDE OSCURO', 'MAGENTA' => 'ROSA', 'AMBER' => 'AMBAR' ); # 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' => 'Domingo', 'Sun' => 'Dom', 'Monday' => 'Luns', 'Mon' => 'Lun', 'Tuesday' => 'Martes', 'Tue' => 'Mar', 'Wednesday' => 'Mércores', 'Wed' => 'mér', 'Thursday' => 'Xoves', 'Thu' => 'Xov', 'Friday' => 'Venres', 'Fri' => 'Ven', 'Saturday' => 'Sábado', 'Sat' => 'Sáb' ); %month = ( 'January' => 'Xaneiro', 'February' => 'Febreiro' , 'March' => 'Marzo', 'Jan' => 'Xan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'Abril', 'May' => 'Maio', 'June' => 'Xuño', 'Apr' => 'Abr', 'May' => 'Mai', 'Jun' => 'Xuñ', 'July' => 'Xullo', 'August' => 'Agosto', 'September' => 'Setembro', 'Jul' => 'Xul', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Outubro', 'November' => 'Novembro', 'December' => 'Decembro', 'Oct' => 'Out', '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]." ás ".$quux[1]; }; return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $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; }; # Chinese gb Code sub gb { 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=gb', 'Maximal 5 Minute Incoming Traffic' => '5煦笘郔湮腔霜講', 'Maximal 5 Minute Outgoing Traffic' => '5煦笘郔湮腔霜堤霜講', 'the device' => '絞ヶ扢掘', 'The statistics were last updated(.*)' => '苀數陓洘載陔衾: $1', ' Average\)
' => 'す歙)

', 'Average(.*)' => 'す歙$1', 'Max(.*)' => '郔湮$1', 'Current(.*)' => '絞ヶ$1', '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眒冪載陔(UPTIME): $2', '([kMG]?)([bB])/s' => '$1$2/s', '([kMG]?)([bB])/min' => '$1$2/m', '([kMG]?)([bB])/h' => '$1$2/h', # 'Bits' => 'Bits', # 'Bytes' => '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' => '1堎', 'February' => '2堎', 'March' => '3堎', 'Jan' => '1堎', 'Feb' => '2堎', 'Mar' => '3堎', 'April' => '4堎', 'May' => '5堎', 'June' => '6堎', 'Apr' => '4堎', 'May' => '5堎', 'Jun' => '6堎', 'July' => '7堎', 'August' => '8堎', 'September' => '9堎', 'Jul' => '7堎', 'Aug' => '8堎', 'Sep' => '9堎', 'October' => '10堎', 'November' => '11堎', 'December' => '12堎', 'Oct' => '10堎', 'Nov' => '11堎', 'Dec' => '12堎' ); @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/); if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} ) { @quux=split(/at/,$foo[3]); if($foo[3]=~(/(.*)at(.*)/)) { $foo[3]=$quux[0]; $foo[4]=$quux[1]; }; return "$foo[3]爛 $month{$foo[2]} $foo[1], $wday{$foo[0]}, $foo[4]"; }; # # 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; }; # Chinese gb2312 Code sub gb2312 { 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' => '5煦笘郔湮霜蹅', 'Maximal 5 Minute Outgoing Traffic' => '5煦笘郔湮霜堤講', 'the device' => '蚾离', 'The statistics were last updated(.*)' => '奻棒苀數載陔奀潔: $1', ' Average\)
' => ' す歙)

', 'Average(.*)' => 'す歙$1', 'Max(.*)' => '郔湮$1', 'Current(.*)' => '醴ヶ$1', '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ㄛ眒堍釬奀潔(UPTIME): $2', '([kMG]?)([bB])/s' => '\$1\$2/鏃', '([kMG]?)([bB])/min' => '\$1\$2/煦', '([kMG]?)([bB])/h' => '$1$2/奀', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' 霜:', ' Out:' => ' 霜堤:', ' Percentage' => ' 啃煦掀:', 'Ported to OpenVMS Alpha by' => '痄眵善 OpenVM 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]} ) { @quux=split(/at/,$foo[3]); if($foo[3]=~(/(.*)at(.*)/)) { $foo[3]=$quux[0]; $foo[4]=$quux[1]; }; return "$foo[3] $month{$foo[2]} $foo[1] , $wday{$foo[0]}, $foo[4]"; }; # # 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; }; # 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酹', '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) { my $trans = $translations{$i}; $trans =~ s/\|/\|/; return $string if eval " \$string =~ s|\${i}|${trans}| "; }; %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; }; # 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 = ( 'charset=iso-8859-1' => 'charset=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(.*)' => '枍鵿 潯濿$1', 'Max(.*)' => '枍蜒黀$1', 'Current(.*)' => '寁歃瀍$1', '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; }; # Hungarian sub hungarian { 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-2', 'Maximal 5 Minute Incoming Traffic' => 'Maximális bejövõ forgalom 5 perc alatt', 'Maximal 5 Minute Outgoing Traffic' => 'Maximális kimenõ forgalom 5 perc alatt', 'the device' => 'az eszköz', 'The statistics were last updated(.*)' => 'A statisztika utolsó frissítése:$1', ' Average\)
' => ' átlag)

', 'Average(.*)' => 'Átlagos$1', 'Max(.*)' => 'Maximum$1', 'Current(.*)' => 'Pillanatnyi$1', 'version' => 'verzió', '`Daily\' Graph \((.*) Minute' => '`Napi\' grafikon ($1 perces', '`Weekly\' Graph \(30 Minute' => '`Heti\' grafikon (30 perces' , '`Monthly\' Graph \(2 Hour' => '`Havi\' grafikon (2 órás', '`Yearly\' Graph \(1 Day' => '`Éves\' grafikon (1 napos', 'Incoming Traffic in (\S+) per Second' => 'Bejövõ forgalom $1 per másodpercben', 'Outgoing Traffic in (\S+) per Second' => 'Kimenõ forgalom $1 per másodpercben', 'at which time (.*) had been up for(.*)' => 'amikor a $1 üzemideje $2 volt.', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/t', 'Bits' => 'Bit', 'Bytes' => 'Byte', ' In:' => ' be:', ' Out:' => ' ki:', ' Percentage' => ' százale´k:', 'Ported to OpenVMS Alpha by' => 'OpenVMS-re portolta', 'Ported to WindowsNT by' => 'WindowsNT-re portolta', 'and' => 'és', '^GREEN' => 'ZÖLD', 'BLUE' => 'KÉK', 'DARK GREEN' => 'SÖTÉT ZÖLD', 'MAGENTA' => 'BÍBOR', 'AMBER' => 'SÁRGA' ); # 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' => 'vasárnap', 'Sun' => 'vas', 'Monday' => 'hétfõ', 'Mon' => 'hét', 'Tuesday' => 'kedd', 'Tue' => 'kedd', 'Wednesday' => 'szerda', 'Wed' => 'sze', 'Thursday' => 'csütörtök','Thu' => 'csüt', 'Friday' => 'péntek', 'Fri' => 'pén', 'Saturday' => 'szombat', 'Sat' => 'szo' ); %month = ( 'January' => 'január', 'February' => 'február' , 'March' => 'március', 'Jan' => 'jan', 'Feb' => 'feb', 'Mar' => 'marc', 'April' => 'április', 'May' => 'május', 'June' => 'június', 'Apr' => 'apr', 'May' => 'maj', 'Jun' => 'jun', 'July' => 'július', 'August' => 'augusztus', 'September' => 'szeptember', 'Jul' => 'jul', 'Aug' => 'aug', 'Sep' => 'szept', 'October' => 'október', '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 "$quux[0]. $month{$foo[2]} $foo[1]., $wday{$foo[0]} $quux[1]"; }; # # 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; }; # Icelandic sub icelandic { 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' => 'Hámarks 5 mínútna umferð inn', 'Maximal 5 Minute Outgoing Traffic' => 'Hámarks 5 mínútna umferð út', 'the device' => 't熥ið', 'The statistics were last updated(.*)' => 'Gögnin voru síðast uppfærð$1', ' Average\)
' => ' Meðaltal)

', 'Average(.*)' => 'Meðaltal$1', 'Max(.*)' => 'Hámark', 'Current(.*)' => 'Nú$1', 'version' => 'útgáfa', '`Daily\' Graph \((.*) Minute' => '`Dagleg\' staða ($1 mínútur', '`Weekly\' Graph \(30 Minute' => '`Vikuleg\' staða (30 mínútur', '`Monthly\' Graph \(2 Hour' => '`Mánaðarleg\' staða (2 klst.', '`Yearly\' Graph \(1 Day' => '`&Aarleg\' staða (1 dags', 'Incoming Traffic in (\S+) per Second' => 'Umferð inn í $1 á sekúndu', 'Outgoing Traffic in (\S+) per Second' => 'Umferð út í $1 á sekúndu', 'at which time (.*) had been up for(.*)' => 'þegar $1 hafði verið uppi í$2', # '([kMG]?)([bB])/s' => '\$1\$2/sek', # '([kMG]?)([bB])/min' => '\$1\$2/mín', '([kMG]?)([bB])/h' => '$1$2/klst', # 'Bits' => 'Bitar', # 'Bytes' => 'Bæti' ' In:' => ' Inn:', ' Out:' => ' Út:', ' Percentage' => ' Prósent:', 'Ported to OpenVMS Alpha by' => 'Staðfært á OpenVMS af', 'Ported to WindowsNT by' => 'Staðfært á WindowsNT af', 'and' => 'og', '^GREEN' => 'GRÆNt', 'BLUE' => 'BLÁTT', 'DARK GREEN' => 'DÖKK GRÆNN', 'MAGENTA' => 'BLÁRAUÐUR', 'AMBER' => 'GULBRÚNN' ); # 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' => 'Sunnudagur', 'Sun' => 'Sun', 'Monday' => 'Mánudagur', 'Mon' => 'Mán', 'Tuesday' => 'Þriðjudagur', 'Tue' => 'Þri', 'Wednesday' => 'Miðvikudagur', 'Wed' => 'Mið', 'Thursday' => 'Fimmtudagur', 'Thu' => 'Fim', 'Friday' => 'Föstudagur', 'Fri' => 'Fös', 'Saturday' => 'Laugardagur', 'Sat' => 'Lau' ); %month = ( 'January' => 'Janúar', 'February' => 'Febrúar' , 'March' => 'Mars', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'Apríl', 'May' => 'Maí', 'June' => 'Júní', 'Apr' => 'Apr', 'May' => 'Maí', 'Jun' => 'Jún', 'July' => 'Júlí', 'August' => 'Ágúst', 'September' => 'September', 'Jul' => 'Júl', 'Aug' => 'Ágú', 'Sep' => 'Sep', 'October' => 'Október', 'November' => 'Nóvember', 'December' => 'Desember', 'Oct' => 'Okt', 'Nov' => 'Nóv', 'Dec' => 'Des' ); @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; }; # Malaysian/Indonesian/Malay sub indonesia { 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' => 'Trafik Masuk Maksimum dalam 5 Menit', 'Maximal 5 Minute Outgoing Traffic' => 'Trafik Keluar Maksimum dalam 5 Menit', 'the device' => 'device', 'The statistics were last updated(.*)' => 'Statistik ini terakhir kali diupdate pada $1', ' Average\)
' => ')

', 'Average(.*)' => 'Rata-rata $1', 'Max(.*)' => 'Maksimum $1', 'Current(.*)' => 'Sekarang $1', 'version' => 'versi', '`Daily\' Graph \((.*) Minute' => 'Grafik Harian (Rata-rata per $1 menit', '`Weekly\' Graph \(30 Minute' => 'Grafik Mingguan (Rata-rata per 30 menit', '`Monthly\' Graph \(2 Hour' => 'Grafik Bulanan (Rata-rata per 2 jam', '`Yearly\' Graph \(1 Day' => 'Grafik Tahunan (Rata-rata per hari', 'Incoming Traffic in (\S+) per Second' => 'Trafik Masuk $1 per detik', 'Outgoing Traffic in (\S+) per Second' => 'Trafik Keluar $1 per detik', 'at which time (.*) had been up for(.*)' => 'Pada saat $1 telah aktif selama $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/j', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Masuk', ' Out:' => ' Keluar', ' Percentage' => ' Persentase:', 'Ported to OpenVMS Alpha by' => 'Porting ke OpenVMS Alpha oleh', 'Ported to WindowsNT by' => 'Porting ke WindowsNT oleh', 'and' => 'dan', '^GREEN' => 'HIJAU', 'BLUE' => 'BIRU', 'DARK GREEN' => 'HIJAU GELAP', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'AMBAR' ); # 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' => 'Ahad', 'Sun' => 'Aha', 'Monday' => 'Senin', 'Mon' => 'Sen', 'Tuesday' => 'Selasa', 'Tue' => 'Sel', 'Wednesday' => 'Rabu', 'Wed' => 'Rab', 'Thursday' => 'Kamis', 'Thu' => 'Kam', 'Friday' => 'Jumat', 'Fri' => 'Jum', 'Saturday' => 'Sabtu', 'Sat' => 'Sab' ); %month = ( 'January' => 'Januari', 'February' => 'Februari' , 'March' => 'Maret', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'April', 'May' => 'Mei', 'June' => 'Juni', 'Apr' => 'Apr', 'May' => 'Mei', 'Jun' => 'Jun', 'July' => 'Juli', 'August' => 'Agustus', 'September' => 'September', 'Jul' => 'Jul', 'Aug' => 'Ags', 'Sep' => 'Sep', 'October' => 'Oktober', 'November' => 'November', 'December' => 'Desember', 'Oct' => 'Okt', 'Nov' => 'Nov', 'Dec' => 'Des' ); @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]." pada ".$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; }; # iso2022jp sub iso2022jp { 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-2022-jp', 'Maximal 5 Minute Incoming Traffic' => "\033\$B:GBg "\033\$B:GBgAw?.NL\033(B(5\033\$BJ,4VJ?6Q\033(B)", 'the device' => "\033\$B%G%P%\$%9\033(B", 'The statistics were last updated(.*)' => "\033\$B:G=*99?7F|;~\033(B\$1", ' Average\)
' => "\033\$BJ?6Q\033\(B)

", 'Average(.*)' => "\033\$BJ?6QCM\033(B\$1", 'Max(.*)' => "\033\$B:GBgCM\033(B\$1", 'Current(.*)' => "\033\$B8=:_CM\033(B\$1", 'version' => 'version', '`Daily\' Graph \((.*) Minute' => "\033\$B0lF|%0%i%U\033(B(\$1\033\$BJ,4V\033(B", '`Weekly\' Graph \(30 Minute' => "\033\$B=54V%0%i%U\033(B(30\033\$BJ,4V\033(B", '`Monthly\' Graph \(2 Hour' => "\033\$B7n4V%0%i%U\033(B(2\033\$B;~4V\033(B", '`Yearly\' Graph \(1 Day' => "\033\$BG/4V%0%i%U\033(B(1\033\$BF|\033(B", 'Incoming Traffic in (\S+) per Second' => "\033\$B "\033\$BAw?.NL\033(B(\$1/\033\$BIC\033(B)", 'at which time (.*) had been up for(.*)' => "\$1\033\$B\$N2TF/;~4V\033(B\$2", '([kMG]?)([bB])/s' => "\$1\$2/\033\$BIC\033(B", '([kMG]?)([bB])/min' => "\$1\$2/\033\$BJ,\033(B", '([kMG]?)([bB])/h' => "\$1\$2/\033\$B;~4V\033(B", 'Bits' => "\033\$B%S%C%H\033(B", 'Bytes' => "\033\$B%P%\$%H\033(B", ' In:' => " \033\$B", ' Out:' => " \033\$BAw?.\033(B:", ' Percentage' => " \033\$B3d9g\033(B:", 'Ported to OpenVMS Alpha by' => "OpenVMS Alpha\033\$BHG:n\@.\033(B", 'Ported to WindowsNT by' => "WindowsNT\033\$BHG:n\@.\033(B", 'and' => 'and', '^GREEN' => "\033\$BNP\033(B", 'BLUE' => "\033\$B\@D\033(B", 'DARK GREEN' => "\033\$B0E\$\$NP\033(B", 'MAGENTA' => "\033\$B%^%<%s%?\033(B", 'AMBER' => "\033\$B2+?'\033(B" ); # 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' => "(\033\$BF|\033(B)", #'Sun' => 'Sun', 'Monday' => "(\033\$B7n\033(B)", #'Mon' => 'Mon', 'Tuesday' => "(\033\$B2P\033(B)", #'Tue' => 'Tue', 'Wednesday' => "(\033\$B?e\033(B)", #'Wed' => 'Wed', 'Thursday' => "(\033\$BLZ\033(B)", #'Thu' => 'Thu', 'Friday' => "(\033\$B6b\033(B)", #'Fri' => 'Fri', 'Saturday' => "(\033\$BEZ\033(B)", #'Sat' => 'Sat' ); %month = ( 'January' => "1\033\$B7n\033(B", 'February' => "2\033\$B7n\033(B", 'March' => "3\033\$B7n\033(B", 'April' => "4\033\$B7n\033(B", 'May' => "5\033\$B7n\033(B", 'June' => "6\033\$B7n\033(B", 'July' => "7\033\$B7n\033(B", 'August' => "8\033\$B7n\033(B", 'September' => "9\033\$B7n\033(B", 'October' => "10\033\$B7n\033(B", 'November' => "11\033\$B7n\033(B", 'December' => "12\033\$B7n\033(B", # 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', # 'Apr' => 'Apr', 'May' => 'May', 'Jun' => 'Jun', # 'Jul' => 'Jul', 'Aug' => 'Aug', 'Sep' => 'Sep', # 'Oct' => 'Oct', '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[1].", ".$quux[0]."\033\$BG/\033(B"; }; return "$foo[3]$month{$foo[2]}$foo[1]\033\$BF|\033(B$wday{$foo[0]}"; }; # # 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; }; # Italian sub italian { 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' => 'Traffico massimo in entrata su 5 minuti', 'Maximal 5 Minute Outgoing Traffic' => 'Traffico massimo in uscita su 5 minuti', 'the device' => 'Il dispositivo', 'The statistics were last updated(.*)' => 'Le statistiche l\' ultima volta sono state aggiornate $1', ' Average\)
' => ' Media)

', 'Average(.*)' => 'Media$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Attuale$1', 'version' => 'versione', '`Daily\' Graph \((.*) Minute' => 'Grafico giornaliero (su $1 minuti :', '`Weekly\' Graph \(30 Minute' => 'Grafico settimanale (su 30 minuti :' , '`Monthly\' Graph \(2 Hour' => 'Grafico mensile (su 2 ore :', '`Yearly\' Graph \(1 Day' => 'Grafico annuale (su 1 giorno :', 'Incoming Traffic in (\S+) per Second' => 'Traffico in ingresso in $1 per Secondo', 'Outgoing Traffic in (\S+) per Second' => 'Traffico in uscita in $1 per Secondo', 'Incoming Traffic in (\S+) per Minute' => 'Traffico in ingresso in $1 per Minuto', 'Outgoing Traffic in (\S+) per Minute' => 'Traffico in uscita $1 per Minuto', 'Incoming Traffic in (\S+) per Hour' => 'Traffico in ingresso $1 per Ora', 'Outgoing Traffic in (\S+) per Hour' => 'Traffico in uscita $1 per Ora', 'at which time (.*) had been up for(.*)' => '$1 é attivo da $2', '(\S+) per minute' => '$1 per Minuto', '(\S+) per hour' => '$1 per Ora', '(.+)/s$' => '$1/s', # '(.+)/min' => '$1/min', '(.+)/h$' => '$1/ora', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Ingresso:', ' Out:' => ' Uscita:', ' Percentage' => ' Percentuale:', 'Ported to OpenVMS Alpha by' => 'Ported su OpenVMS Alpha da', 'Ported to WindowsNT by' => 'Ported su WindowsNT da', 'and' => 'e', '^GREEN' => 'VERDE', 'BLUE' => 'BLU', 'DARK GREEN' => 'VERDE SCURO', #'MAGENTA' => 'MAGENTA', #'AMBER' => 'AMBRA' ); # 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' => 'Domenica', 'Sun' => 'Dom', 'Monday' => 'Lunedi', 'Mon' => 'Lun', 'Tuesday' => 'Martedi', 'Tue' => 'Mar', 'Wednesday' => 'Mercoledi', 'Wed' => 'Mer', 'Thursday' => 'Giovedi', 'Thu' => 'Gio', 'Friday' => 'Venerdi', 'Fri' => 'Ven', 'Saturday' => 'Sabato', 'Sat' => 'Sab' ); %month = ( 'January' => 'Gennaio', 'February' => 'Febbraio' , 'March' => 'Marzo', 'Jan' => 'Gen', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'Aprile', 'May' => 'Maggio', 'June' => 'Giugno', 'Apr' => 'Apr', 'May' => 'Mag', 'Jun' => 'Giu', 'July' => 'Luglio', 'August' => 'Agosto', 'September' => 'Settembre', 'Jul' => 'Lug', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Ottobre', 'November' => 'Novembre', 'December' => 'Dicembre', 'Oct' => 'Ott', 'Nov' => 'Nov', 'Dec' => 'Dic' ); @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]." alle ".$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; }; # Korean sub korean { 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=\"euc-kr\"', 'Maximal 5 Minute Incoming Traffic' => '5碟除 譆渠 熱褐', 'Maximal 5 Minute Outgoing Traffic' => '5碟除 譆渠 歎褐', 'the device' => '濰纂', 'The statistics were last updated(.*)' => '譆謙 偵褐 橾衛: $1', ' Average\)
' => ' ゎ敕高 晦遽)

', 'Average(.*)' => 'ゎ敕$1', 'Max(.*)' => '譆渠$1', 'Current(.*)' => '⑷營$1', '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/蟾', '([kMG]?)([bB])/min' => '$1$2/碟', '([kMG]?)([bB])/h' => '$1$2/衛', 'Bits' => '綠お', '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' => '1錯', 'February' => '2錯' , 'March' => '3錯', 'Jan' => '1錯', 'Feb' => '2錯', 'Mar' => '3錯', 'April' => '4錯', 'May' => '5錯', 'June' => '6錯', 'Apr' => '4錯', 'May' => '5錯', 'Jun' => '6錯', 'July' => '7錯', 'August' => '8錯', 'September' => '9錯', 'Jul' => '7錯', 'Aug' => '8錯', 'Sep' => '9錯', 'October' => '10錯', 'November' => '11錯', 'December' => '12錯', 'Oct' => '10錯', 'Nov' => '11錯', 'Dec' => '12錯' ); @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]; $foo[3]=$quux[0]; $foo[4]=$quux[1]; }; return $foo[3]."喇 $month{$foo[2]} $foo[1]橾 $wday{$foo[0]} $foo[4]"; # 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; }; # Lithuanian sub lithuanian { 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=windows-1257', 'Maximal 5 Minute Incoming Traffic' => 'Maksimalus 5 minu鋱 墈inantis srautas', 'Maximal 5 Minute Outgoing Traffic' => 'Maksimalus 5 minu鋱 i簟inantis srautas', 'the device' => '嫫enginys', 'The statistics were last updated(.*)' => 'Statistika atnaujinta$1', ' Average\)
' => ' vidurkis)

', 'Average(.*)' => 'vid$1', 'Max(.*)' => 'max$1', 'Current(.*)' => 'dabar$1', 'version' => 'versija', '`Daily\' Graph \((.*) Minute' => '\'dienos\' grafikas ($1 min.', '`Weekly\' Graph \(30 Minute' => '\'savait褭\' grafikas (30 min.' , '`Monthly\' Graph \(2 Hour' => '\'m螚esio\' grafikas (2 val.', '`Yearly\' Graph \(1 Day' => '\'met鱋' grafikas (1 d.', 'Incoming Traffic in (\S+) per Second' => '縹inantis srautas, $1 per sekund', 'Outgoing Traffic in (\S+) per Second' => 'I簟inantis srautas i $1 per sekund', 'at which time (.*) had been up for(.*)' => '$1 veikia jau $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'bitai', 'Bytes' => 'baitai', ' In:' => ' :', ' Out:' => ' i:', ' Percentage' => ' procentai:', 'Ported to OpenVMS Alpha by' => 'Perk螔 OpenVMS Alpha:', 'Ported to WindowsNT by' => 'Perk螔 WindowsNT:', 'and' => 'ir', '^GREEN' => '毷LIA ', 'BLUE' => 'M汧YNA ', 'DARK GREEN' => 'TAMSIAI 毷LIA ', 'MAGENTA' => 'RAUDONA ', 'AMBER' => 'GINTARIN ' ); # 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' => 'sekmadien', 'Sun' => 'Sek', 'Monday' => 'pirmadien', 'Mon' => 'Pir', 'Tuesday' => 'antradien', 'Tue' => 'Ant', 'Wednesday' => 'tre鋱adien', 'Wed' => 'Tre', 'Thursday' => 'ketvirtadien', 'Thu' => 'Ket', 'Friday' => 'penktadien', 'Fri' => 'Pen', 'Saturday' => '簟繑adien', 'Sat' => '胗' ); %month = ( 'January' => 'sausio', 'February' => 'vasario' , 'March' => 'kovo', 'Jan' => 'Sau', 'Feb' => 'Vas', 'Mar' => 'Kov', 'April' => 'balandio', 'May' => 'gegu褭', 'June' => 'birelio', 'Apr' => 'Bal', 'May' => 'Geg', 'Jun' => 'Bir', 'July' => 'liepos', 'August' => 'rugpj鋱o', 'September' => 'rugs螝o', 'Jul' => 'Lie', 'Aug' => 'Rgp', 'Sep' => 'Rgs', 'October' => 'spalio', 'November' => 'lapkri鋱o', 'December' => 'gruodio', 'Oct' => 'Spa', 'Nov' => 'Lap', 'Dec' => 'Gru' ); @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[1].", ".$quux[0]; }; return "$foo[3] $month{$foo[2]} $foo[1], $wday{$foo[0]}" ; }; # # 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; }; # Macedonian sub macedonian { 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=windows-1251', 'Maximal 5 Minute Incoming Traffic' => '枟膲鳻鳪樇 5 擯薃蠈 碲樄樇 勷鍕譇鉏', 'Maximal 5 Minute Outgoing Traffic' => '枟膲鳻鳪樇 5 擯薃蠈 鳿錼谾 勷鍕譇鉏', 'the device' => '鶇槼', 'The statistics were last updated(.*)' => '砐儴槼膼 馰鶇麃 縺 瀁魡襜灕蠈$1', ' Average\)
' => ' 瀔闃樏)

', 'Average(.*)' => '砎闃毿樇$1', 'Max(.*)' => '枟膲鳻鳪$1', 'Current(.*)' => '帙懤艜$1', '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/h', # '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]." kl.".$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; };# Malaysian/Malay sub malay { 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' => 'Maksimum 5 Minit Trafik Masuk', 'Maximal 5 Minute Outgoing Traffic' => 'Maksimum 5 Minit Trafik Keluar', 'the device' => 'alatan', 'The statistics were last updated(.*)' => 'Statistik ini kali terakhir dikemaskini pada $1', ' Average\)
' => ' secara purata)

', 'Average(.*)' => 'Purata $1', 'Max(.*)' => 'Maksimum $1', 'Current(.*)' => 'Kini $1', 'version' => 'versi', '`Daily\' Graph \((.*) Minute' => 'Graf `Harian\' ($1 minit :', '`Weekly\' Graph \(30 Minute' => 'Graf `Mingguan\' (30 minit :' , '`Monthly\' Graph \(2 Hour' => 'Graf `Bulanan\' (2 jam :', '`Yearly\' Graph \(1 Day' => 'Graf `Tahunan\' (1 hari :', 'Incoming Traffic in (\S+) per Second' => 'Trafik Masuk $1 per saat', 'Outgoing Traffic in (\S+) per Second' => 'Traffic Keluar $1 per saat', 'at which time (.*) had been up for(.*)' => 'Sehingga waktu $1 ia telah aktif selama $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/j', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Masuk', ' Out:' => ' Keluar', ' Percentage' => ' Peratus:', 'Ported to OpenVMS Alpha by' => 'Pengubahsuaian ke OpenVMS Alpha oleh', 'Ported to WindowsNT by' => 'Pengubahsuaian ke WindowsNT oleh', 'and' => 'dan', '^GREEN' => 'HIJAU', 'BLUE' => 'BIRU', 'DARK GREEN' => 'HIJAU GELAP', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'AMBAR' ); # 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' => 'Ahad', 'Sun' => 'Aha', 'Monday' => 'Isnin', 'Mon' => 'Isn', 'Tuesday' => 'Selasa', 'Tue' => 'Sel', 'Wednesday' => 'Rabu', 'Wed' => 'Rab', 'Thursday' => 'Khamis', 'Thu' => 'Kha', 'Friday' => 'Jumaat', 'Fri' => 'Jum', 'Saturday' => 'Sabtu', 'Sat' => 'Sab' ); %month = ( 'January' => 'Januari', 'February' => 'Februari' , 'March' => 'Mac', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mac', 'April' => 'April', 'May' => 'Mei', 'June' => 'Jun', 'Apr' => 'Apr', 'May' => 'Mei', 'Jun' => 'Jun', 'July' => 'Julai', 'August' => 'Ogos', 'September' => 'September', 'Jul' => 'Jul', 'Aug' => 'Ogo', 'Sep' => 'Sep', 'October' => 'Oktober', 'November' => 'November', 'December' => 'Disember', 'Oct' => 'Okt', 'Nov' => 'Nov', 'Dec' => 'Dis' ); @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]." pada ".$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; }; # Norwegian sub norwegian { 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' => 'Maksimal inngående trafikk i 5 minutter', 'Maximal 5 Minute Outgoing Traffic' => 'Maksimal utgående trafikk i 5 minutter', 'the device' => 'enhetden', 'The statistics were last updated(.*)' => 'Statistikken ble sist oppdatert $1', ' Average\)
' => ' gjennomsnitt)

', 'Average(.*)' => 'Gjennomsnitt$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Nå$1', 'version' => 'versjon', '`Daily\' Graph \((.*) Minute' => '`Daglig\' graf ($1 minutts', '`Weekly\' Graph \(30 Minute' => '`Ukentlig\' graf (30 minutts' , '`Monthly\' Graph \(2 Hour' => '`Månedlig\' graf (2 times', '`Yearly\' Graph \(1 Day' => '`Årlig\' graf (1 dags', 'Incoming Traffic in (\S+) per Second' => 'Inngående trafikk i $1 per sekund', 'Outgoing Traffic in (\S+) per Second' => 'Utgående trafikk i $1 per sekund', 'at which time (.*) had been up for(.*)' => 'hvor $1 hadde vært oppe 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:' => ' Inn:', ' Out:' => ' Ut:', ' Percentage' => ' Prosent:', 'Ported to OpenVMS Alpha by' => 'Port til OpenVMS av', 'Ported to WindowsNT by' => 'Port til WindowsNT av', 'and' => 'og', '^GREEN' => 'GRØNN', 'BLUE' => 'BLÅ', 'DARK GREEN' => 'MØRKEGRØNN', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'GUL' ); # 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' => 'Mandag', 'Mon' => 'Man', 'Tuesday' => 'Tirsdag', 'Tue' => 'Tir', 'Wednesday' => 'Onsdag', 'Wed' => 'Ons', 'Thursday' => 'Torsdag', 'Thu' => 'Tor', 'Friday' => 'Fredag', 'Fri' => 'Fre', 'Saturday' => 'Lørdag', 'Sat' => 'Lør' ); %month = ( 'January' => 'Januar', 'February' => 'Februar' , 'March' => 'Mars', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', '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' => 'Desember', 'Oct' => 'Okt', 'Nov' => 'Nov', 'Dec' => 'Des' ); @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; }; sub polish { 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-2', 'Maximal 5 Minute Incoming Traffic' => 'Maksymalny ruch przychodz帷y w ci庵u 5 minut', 'Maximal 5 Minute Outgoing Traffic' => 'Maksymalny ruch wychodz帷y w ci庵u 5 minut', 'the device' => 'urz康zenie', 'The statistics were last updated(.*)' => 'Ostatnie uaktualnienie statystyki $1', ' Average\)
' => ' 字ednia)

', 'Average(.*)' => '字ednio$1', 'Max(.*)' => 'Maksymalnie$1', 'Current(.*)' => 'Aktualnie$1', 'version' => 'wersja', '`Daily\' Graph \((.*) Minute' => '`Dzienny\' Graf w ci庵u ($1 Minut/y - ', '`Weekly\' Graph \(30 Minute' => '`Tygodniowy\' Graf w ci庵u (30 minut - ' , '`Monthly\' Graph \(2 Hour' => '`Miesi璚zny\' Graf w ci庵u (2 Godzin - ', '`Yearly\' Graph \(1 Day' => '`Roczny\' Graf w ci庵u (1 Dnia - ', 'Incoming Traffic in (\S+) per Second' => 'Ruch przychodz帷y - $1 na sekund', 'Outgoing Traffic in (\S+) per Second' => 'Ruch wychodz帷y - $1 na sekund', 'at which time (.*) had been up for(.*)' => 'gdy $1 by w陰czony przez $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', '([kMG]?)([bB])/h' => '$1$2/g', 'Bits' => 'Bity', 'Bytes' => 'Bajty', ' In:' => ' Do:', ' Out:' => '  Z:', ' Percentage' => ' Procent:', 'Ported to OpenVMS Alpha by' => 'Port dla OpenVMS Alpha dzi瘯i', 'Ported to WindowsNT by' => 'Port dla WindowsNT dzi瘯i', 'and' => 'i', '^GREEN' => 'ZIELONY', 'BLUE' => 'NIEBIESKI', 'DARK GREEN' => 'CIEMNO ZIELONY', 'MAGENTA' => 'KARMAZYNOWY', 'AMBER' => 'BURSZTYNOWY' ); # 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' => 'Niedziela', 'Sun' => 'Nie', 'Monday' => 'Poniedzia貫k', 'Mon' => 'Pon', 'Tuesday' => 'Wtorek', 'Tue' => 'Wto', 'Wednesday' => '字oda', 'Wed' => '字o', 'Thursday' => 'Czwartek', 'Thu' => 'Czw', 'Friday' => 'Pi徠ek', 'Fri' => 'Pi', 'Saturday' => 'Sobota', 'Sat' => 'Sob' ); %month = ( 'January' => 'Stycznia', 'February' => 'Lutego', 'March' => 'Marca', 'Jan' => 'Sty', 'Feb' => 'Lut', 'Mar' => 'Mar', 'April' => 'Kwietnia', 'May' => 'Maja', 'June' => 'Czerwca', 'Apr' => 'Kwi', 'May' => 'Maj', 'Jun' => 'Cze', 'July' => 'Lipica', 'August' => 'Sierpnia', 'September' => 'Wrzesnia', 'Jul' => 'Lip', 'Aug' => 'Sie', 'Sep' => 'Wrz', 'October' => 'Pa寮ziernika', 'November' => 'Listopada', 'December' => 'Grudnia', 'Oct' => 'Pa', 'Nov' => 'Lis', 'Dec' => 'Gru' ); @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]." o godzinie".$quux[1]; }; return "$wday{$foo[0]} dzie $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; }; # Portugu瘰 sub portuguese { 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' => 'Tr塻ego Maximal Recebido em 5 minutos', 'Maximal 5 Minute Outgoing Traffic' => 'Tr塻ego Maximal Enviado em 5 minutos', 'the device' => 'o dispositivo', 'The statistics were last updated(.*)' => 'As Estat疄ticas foram actualizadas pela ltima vez na $1', ' Average\)
' => '', 'Average(.*)' => 'M嶮ia$1', 'Max(.*)' => 'Max.$1', 'Current(.*)' => 'Actual$1', 'version' => 'Vers緌', '`Daily\' Graph \((.*) Minute' => 'Gr塻ico Di嫫io (em intervalos de $1 Minutos)
', '`Weekly\' Graph \(30 Minute' => 'Gr塻ico Semanal
' , '`Monthly\' Graph \(2 Hour' => 'Gr塻ico Mensal
', '`Yearly\' Graph \(1 Day' => 'Gr塻ico Anual
', 'Incoming Traffic in (\S+) per Second' => 'Tr塻ego recebido em $1/segundo', 'Outgoing Traffic in (\S+) per Second' => 'Tr塻ego enviado em $1/segundo', 'Incoming Traffic in (\S+) per Minute' => 'Tr塻ego recebido em $1/minuto', 'Outgoing Traffic in (\S+) per Minute' => 'Tr塻ego enviado em $1/minuto', 'Incoming Traffic in (\S+) per Hour' => 'Tr塻ego recebido em $1/hora', 'Outgoing Traffic in (\S+) per Hour' => 'Tr塻ego recebido em $1/hora', 'at which time (.*) had been up for(.*)' => 'quando o $1, tinha um uptime de $2', '(\S+) per minute' => '$1/minuto', '(\S+) per hour' => '$1/hora', '(.+)/s$' => '$1/s', # '(.+)/min' => '$1/min', '(.+)/h$' => '$1/h', #'([kMG]?)([bB])/s' => '$1$2/s', #'([kMG]?)([bB])/min' => '$1$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Rec.:', ' Out:' => ' Env.:', ' Percentage' => ' Perc.:', 'Ported to OpenVMS Alpha by' => 'Portado para OpenVMS Alpha por', 'Ported to WindowsNT by' => 'Portado para WindowsNT por', 'and' => 'e', '^GREEN' => 'VERDE', 'BLUE' => 'AZUL', 'DARK GREEN' => 'VERDE ESCURO', # 'MAGENTA' => 'MAGENTA', # 'AMBER' => 'AMBAR', ); # 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' => 'Domingo', 'Sun' => 'Dom', 'Monday' => 'Segunda-Feira', 'Mon' => 'Seg', 'Tuesday' => 'Ter蓷-Feira', 'Tue' => 'Ter', 'Wednesday' => 'Quarta-Feira', 'Wed' => 'Qua', 'Thursday' => 'Quinta-Feira', 'Thu' => 'Qui', 'Friday' => 'Sexta-Feira', 'Fri' => 'Sex', 'Saturday' => 'S墎ado', 'Sat' => 'Sab' ); %month = ( 'January' => 'Janeiro', 'February' => 'Fevereiro' , 'March' => 'Mar蔞', 'Jan' => 'Jan', 'Feb' => 'Fev', 'Mar' => 'Mar', 'April' => 'Abril', 'May' => 'Maio', 'June' => 'Junho', 'Apr' => 'Abr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Julho', 'August' => 'Agosto', 'September' => 'Setembro', 'Jul' => 'Jul', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Outubro', 'November' => 'Novembro', 'December' => 'Dezembro', 'Oct' => 'Out', '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]." pelas ".$quux[1]; }; return "$wday{$foo[0]}, $foo[1] de $month{$foo[2]} de $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; }; # Romanian sub romanian { 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-8859-2 %translations = ( 'charset=iso-8859-1' => 'charset=iso-8859-2', 'Maximal 5 Minute Incoming Traffic' => 'Traficul Maxim de intrare pe 5 Minute', 'Maximal 5 Minute Outgoing Traffic' => 'Traficul Maxim de iesire pe 5 Minute', 'the device' => 'echipamentul', 'The statistics were last updated(.*)' => 'Ultima actualizare :$1', ' Average\)

' => '', 'Average(.*)' => 'Medie$1', 'Max(.*)' => 'Maxim$1', 'Current(.*)' => 'Curent$1', 'version' => 'versiunea', '`Daily\' Graph \((.*) Minute' => 'Graficul \'Zilnic\' (medie pe $1 minute)
', '`Weekly\' Graph \(30 Minute' => 'Graficul \'S綯t緆滱al\' (medie pe 30 de minute)
' , '`Monthly\' Graph \(2 Hour' => 'Graficul \'Lunar\' (medie pe 2 ore)
', '`Yearly\' Graph \(1 Day' => 'Graficul \'Anual\' (medie pe 1 zi)
', 'Incoming Traffic in (\S+) per Second' => 'Traficul de intrare [$1/secund箂', 'Outgoing Traffic in (\S+) per Second' => 'Traficul de ie槐re [$1/secund箂', 'at which time (\S+) had been up for (\S+)' => 'c滱d $1 funciona de $2', 'at which time (\S+) had been up for (\S+) day, (\S+)' => 'c滱d $1 funciona de $2 zi, $3', 'at which time (\S+) had been up for (\S+) days, (\S+)' => 'c滱d $1 funciona de $2 zile, $3', #'(.+)/s$' => '$1/s', #'(.+)/min' => '$1/min', '(.+)/h$' => '$1/ora', #'([kMG]?)([bB])/s' => '$1$2/s', #'([kMG]?)([bB])/min' => '$1$2/min', '([kMG]?)([bB])/h' => '$1$2/ora', 'Bits' => 'Bii', 'Bytes' => 'Octei', ' In:' => ' int: ', ' Out:' => ' ie: ', ' Percentage' => ' procent:', 'Ported to OpenVMS Alpha by' => 'Translatat sub OpenVMS de', 'Ported to WindowsNT by' => 'Translatat sub WindowsNT de', 'and' => '槐', '^GREEN' => 'VERDE', 'BLUE' => 'ALBASTRU', 'DARK GREEN' => 'VERDE 哞CHIS', 'MAGENTA' => 'PURPURIU', 'AMBER' => 'GALBEN', ); # 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' => 'duminic', 'Sun' => 'lu', 'Monday' => 'luni', 'Mon' => 'ma', 'Tuesday' => 'mari', 'Tue' => 'mi', 'Wednesday' => 'miercuri', 'Wed' => 'jo', 'Thursday' => 'joi', 'Thu' => 'vi', 'Friday' => 'vineri', 'Fri' => 's', 'Saturday' => 's滵b綟', 'Sat' => 'du' ); %month = ( 'January' => 'ianuarie', 'February' => 'februarie' , 'March' => 'martie', 'Jan' => 'ian', 'Feb' => 'feb', 'Mar' => 'mar', 'April' => 'aprilie', 'May' => 'mai', 'June' => 'iunie', 'Apr' => 'apr', 'May' => 'mai', 'Jun' => 'iun', 'July' => 'iulie', 'August' => 'august', 'September' => 'septembrie', 'Jul' => 'iul', 'Aug' => 'aug', 'Sep' => 'sep', 'October' => 'octombrie', 'November' => 'noiembrie', 'December' => 'decembrie', 'Oct' => 'oct', 'Nov' => 'noi', '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].", ora ".$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; }; # Russian sub russian { 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=koi8-r', 'Maximal 5 Minute Incoming Traffic' => '篴剆奼賻媓椋 觕狦栳圴 婞谿夼 睋 5 虭挍', 'Maximal 5 Minute Outgoing Traffic' => '篴剆奼賻媓椋 孖狦栳圴 婞谿夼 睋 5 虭挍', 'the device' => '梌婞珅衲豜', 'The statistics were last updated(.*)' => '蟴蚝鼴恓 狟恘訞曬吇 衲轂孖埩侂: $1', ' Average\)

' => ')

', 'Average(.*)' => '鯜鼴恌$1', 'Max(.*)' => '篴剆.$1', 'Current(.*)' => '蠐劼楦$1', '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$1/蚥', #'([kMG]?)([bB])/min' => '$1$2/虭', '([kMG]?)([bB])/h' => '$1$2/瓾', 'Bits' => '薺埡', '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)." 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; }; # Russian1251 Code sub russian1251 { 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=windows-1251', 'Maximal 5 Minute Incoming Traffic' => '枟膲鳻鳪蕻 碬鍱鴇 襝僳鴀 諘 5 擯薃', 'Maximal 5 Minute Outgoing Traffic' => '枟膲鳻鳪蕻 黓羻鴇 襝僳鴀 諘 5 擯薃', 'the device' => '鵨襝鍣嚦碭', 'The statistics were last updated(.*)' => '鎘樦 瀁儴槼翴蜦 鍕膼碲樇: $1', ' Average\)
' => ')

', 'Average(.*)' => ' 嚫槼翴$1', 'Max(.*)' => '枟膲鳻鳪膼$1', 'Current(.*)' => '栫澥僔$1', '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 (\S+) had been up for (\S+)' => '硾樦 瀁儴 鴈儗魰錒諘灕 鵨襝鍣嚦瘔 $1: $2.', 'at which time (\S+) had been up for (\S+) day, (\S+)' => '硾樦 瀁儴 鴈儗魰錒諘灕 鵨襝鍣嚦瘔 $1: $2 嚧襚, $3.', 'at which time (\S+) had been up for (\S+) days, (\S+)' => '硾樦 瀁儴 鴈儗魰錒諘灕 鵨襝鍣嚦瘔 $1: $2 嚧襜, $3.', #'([kMG]?)([bB])/s' => '$1$1/鼫', #'([kMG]?)([bB])/min' => '$1$2/擯', '([kMG]?)([bB])/h' => '$1$2/欑', 'Bits' => '摜蠉', '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)." 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; }; # Serbian sub serbian { 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=windows-1250', 'Maximal 5 Minute Incoming Traffic' => 'Najve熵 5 minutni ulazni saobra潻j', 'Maximal 5 Minute Outgoing Traffic' => 'Najve熵 5 minutni izlazni saobra潻j', 'the device' => 'uredjaj', 'The statistics were last updated(.*)' => 'Poslednje auriranje podataka:$1', ' Average\)
' => ' prosek)

', 'Average(.*)' => 'Prose鋝i$1', 'Max(.*)' => 'Maksimalni$1', 'Current(.*)' => 'Trenutni$1', 'version' => 'verzija', '`Daily\' Graph \((.*) Minute' => 'Dnevni graf ($1 minutni ', '`Weekly\' Graph \(30 Minute' => 'Nedeljni graf (30 minutni ' , '`Monthly\' Graph \(2 Hour' => 'Mese鋝i graf (2 sata ', '`Yearly\' Graph \(1 Day' => 'Godinji graf (1 dnevni ', 'Incoming Traffic in (\S+) per Second' => 'Ulazni saobra潻j - $1 u sekundi.', 'Outgoing Traffic in (\S+) per Second' => 'Izlazni saobra潻j - $1 u sekundi.', 'Incoming Traffic in (\S+) per Minute' => 'Ulazni saobra潻j - $1 u minutu', 'Outgoing Traffic in (\S+) per Minute' => 'Izlazni saobra潻j - $1 u minutu', 'Incoming Traffic in (\S+) per Hour' => 'Ulazni saobra潻j - $1 na sat', 'Outgoing Traffic in (\S+) per Hour' => 'Izlazni saobra潻j - $1 na sat', 'at which time (.*) had been up for(.*)' => 'Vreme neprekidnog rada sistema $1 : $2', #'([kMG]?)([bB])/s' => '\$1\$2/s', #'([kMG]?)([bB])/min' => '\$1\$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'Bita', 'Bytes' => 'Bajta', ' In:' => ' Ulaz:', ' Out:' => ' Izlaz:', ' Percentage' => ' Procenat', 'Ported to OpenVMS Alpha by' => 'Na OpenVMS portovao', 'Ported to WindowsNT by' => 'Na WindowsNT portovao', 'and' => 'i', '^GREEN' => 'Zeleno', 'BLUE' => 'Plavo', 'DARK GREEN' => 'Tamnozeleno', 'MAGENTA' => 'Ljubi醀sto', 'AMBER' => 'Narandasto' ); # 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' => 'Nedelja', 'Sun' => 'Ned', 'Monday' => 'Ponedeljak', 'Mon' => 'Pon', 'Tuesday' => 'Utorak', 'Tue' => 'Uto', 'Wednesday' => 'Sreda', 'Wed' => 'Sre', 'Thursday' => 'etvrtak', 'Thu' => 'et', 'Friday' => 'Petak', 'Fri' => 'Pet', 'Saturday' => 'Subota', 'Sat' => 'Sub' ); %month = ( 'January' => 'januar', 'February' => 'februar', 'March' => 'mart', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'april', 'May' => 'maj', 'June' => 'jun', 'Apr' => 'Apr', 'May' => 'Maj', 'Jun' => 'Jun', 'July' => 'jul', 'August' => 'avgust', 'September' => 'septembar', 'Jul' => 'Jul', 'Aug' => 'Avg', 'Sep' => 'Sep', 'October' => 'oktobar','November' => 'novembar','December' => 'decembar', '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].",".$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; } # # Slovak sub slovak { 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=windows-1250', 'Maximal 5 Minute Incoming Traffic' => 'Maxim嫮ny 5 mintov prich墂zajci tok', 'Maximal 5 Minute Outgoing Traffic' => 'Maxim嫮ny 5 mintov odch墂zajci tok', 'the device' => 'zariadenie', 'The statistics were last updated(.*)' => 'Posledn aktualiz塶ia 靖atist璭:$1', ' Average\)
' => ' priemer)

', 'Average(.*)' => 'Priem.$1', 'Max(.*)' => 'Max.$1', 'Current(.*)' => 'Akt.$1', 'version' => 'verzia', '`Daily\' Graph \((.*) Minute' => 'Denn graf ($1 mintov', '`Weekly\' Graph \(30 Minute' => 'T鞏enn graf (30 mintov' , '`Monthly\' Graph \(2 Hour' => 'Mesa鋝 graf (2 hodinov', '`Yearly\' Graph \(1 Day' => 'Ro鋝 graf (1 denn', 'Incoming Traffic in (\S+) per Second' => 'Prich墂zajci tok v $1 za sekundu.', 'Outgoing Traffic in (\S+) per Second' => 'Odch墂zajci tok v $1 za sekundu.', 'at which time (.*) had been up for(.*)' => 'as od posledn嶭o re靖artu $1 : $2', #'([kMG]?)([bB])/s' => '\$1\$2/s', #'([kMG]?)([bB])/min' => '\$1\$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'bitoch', 'Bytes' => 'bytoch', #' In:' => ' In:', #' Out:' => ' Out:', ' Percentage' => ' Perc.', 'Ported to OpenVMS Alpha by' => 'Na OpenVMS portoval', 'Ported to WindowsNT by' => 'Na WindowsNT portoval', 'and' => 'a', '^GREEN' => 'Zelen', 'BLUE' => 'Modr', 'DARK GREEN' => 'Tmavozelen', 'MAGENTA' => 'Fialov', 'AMBER' => '峽t' ); # 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' => 'Nede琦', 'Sun' => 'Ne', 'Monday' => 'Pondelok', 'Mon' => 'Po', 'Tuesday' => 'Utorok', 'Tue' => 'Ut', 'Wednesday' => 'Streda', 'Wed' => 'St', 'Thursday' => '孤vrtok', 'Thu' => '孤', 'Friday' => 'Piatok', 'Fri' => 'Pi', 'Saturday' => 'Sobota', 'Sat' => 'So' ); %month = ( 'January' => 'Janu嫫', 'February' => 'Febru嫫', 'March' => 'Marec', 'Jan' => 'Janu嫫', 'Feb' => 'Febru嫫', 'Mar' => 'Marec', 'April' => 'Apr璱', 'May' => 'M奫', 'June' => 'Jn', 'Apr' => 'Apr璱', 'May' => 'M奫', 'Jun' => 'Jn', 'July' => 'Jl', 'August' => 'August', 'September' => 'September', 'Jul' => 'Jl', 'Aug' => 'August', 'Sep' => 'September', 'October' => 'Okt鏏er','November' => 'November','December' => 'December', 'Oct' => 'Okt鏏er','Nov' => 'November','Dec' => 'December' ); @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; } # # Slovenian sub slovenian { 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=windows-1250', 'Maximal 5 Minute Incoming Traffic' => 'Najvecji petminutni vhodni promet', 'Maximal 5 Minute Outgoing Traffic' => 'Najvecji petminutni izhodni promet', 'the device' => 'naprava', 'The statistics were last updated(.*)' => 'Zadnja posodobitev podatkov:$1', ' Average\)
' => ' povprecje)

', 'Average(.*)' => 'Povprecje$1', 'Max(.*)' => 'Maksimalno$1', 'Current(.*)' => 'Trenutno$1', 'version' => 'verzija', '`Daily\' Graph \((.*) Minute' => 'Dnevni graf ($1 min.', '`Weekly\' Graph \(30 Minute' => 'Tedenski graf (30 min.' , '`Monthly\' Graph \(2 Hour' => 'Mesecni graf (2 urno', '`Yearly\' Graph \(1 Day' => 'Letni graf (1 dnevno', 'Incoming Traffic in (\S+) per Second' => 'Vhodni promet v $1 na sekundo.', 'Outgoing Traffic in (\S+) per Second' => 'Izhodni promet v $1 na sekundo.', 'at which time (.*) had been up for(.*)' => 'Cas od zadnjega restarta sistema $1 : $2', #'([kMG]?)([bB])/s' => '\$1\$2/s', #'([kMG]?)([bB])/min' => '\$1\$2/min', #'([kMG]?)([bB])/h' => '$1$2/h', 'Bits' => 'bitov', 'Bytes' => 'bytov', ' In:' => ' Vhod:', ' Out:' => ' Izhod:', ' Percentage' => ' Proc.', 'Ported to OpenVMS Alpha by' => 'Na OpenVMS portiral', 'Ported to WindowsNT by' => 'Na WindowsNT portiral', 'and' => 'in', '^GREEN' => 'Zeleno', 'BLUE' => 'Modro', 'DARK GREEN' => 'Temnozeleno', 'MAGENTA' => 'Vijolicasto', 'AMBER' => 'Oranzno' ); # 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' => 'Nedelja', 'Sun' => 'Ne', 'Monday' => 'Ponedeljek', 'Mon' => 'Po', 'Tuesday' => 'Torek', 'Tue' => 'To', 'Wednesday' => 'Sreda', 'Wed' => 'Sr', 'Thursday' => 'Cetrtek', 'Thu' => 'Ce', 'Friday' => 'Petek', 'Fri' => 'Po', 'Saturday' => 'Sobota', 'Sat' => 'So' ); %month = ( 'January' => 'Januar', 'February' => 'Februar', 'March' => 'Marec', 'Jan' => 'Jan', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'April', 'May' => 'Maj', 'June' => 'Jun', 'Apr' => 'Apr', 'May' => 'Maj', 'Jun' => 'Jun', 'July' => 'Julij', 'August' => 'Avgust', 'September' => 'September', 'Jul' => 'Jul', 'Aug' => 'Avg', '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].",".$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; } # # Spanish sub spanish { 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... %translations = ( 'charset=iso-8859-1' => 'charset=iso-8859-1', 'Maximal 5 Minute Incoming Traffic' => 'Tráfico entrante máximo en 5 minutos', 'Maximal 5 Minute Outgoing Traffic' => 'Tráfico saliente máximo en 5 minutos', 'the device' => 'el dispositivo', 'The statistics were last updated(.*)' => 'Estadísticas actualizadas el $1', ' Average\)
' => ' Promedio)

', 'Average(.*)' => 'Promedio $1', 'Max(.*)' => 'Máx$1', 'Current(.*)' => 'Actual$1', 'version' => 'version', '`Daily\' Graph \((.*) Minute' => 'Gráfico diario ($1 minutos :', '`Weekly\' Graph \(30 Minute' => 'Gráfico semanal (30 minutos :' , '`Monthly\' Graph \(2 Hour' => 'Gráfico mensual (2 horas :', '`Yearly\' Graph \(1 Day' => 'Gráfico anual (1 día :', 'Incoming Traffic in (\S+) per Second' => 'Tráfico entrante en $1 por segundo', 'Outgoing Traffic in (\S+) per Second' => 'Tráfico saliente en $1 por segundo', 'at which time (.*) had been up for(.*)' => '$1 ha estado funcionando durante $2', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bits', # 'Bytes' => 'Bytes' ' In:' => ' Entrante:', ' Out:' => ' Saliente:', ' Percentage' => ' Porcentaje:', 'Ported to OpenVMS Alpha by' => 'Portado a OpenVMS Alpha por', 'Ported to WindowsNT by' => 'Portado a WindowsNT por', 'and' => 'y', '^GREEN' => 'VERDE', 'BLUE' => 'AZUL', 'DARK GREEN' => 'VERDE OSCURO', 'MAGENTA' => 'MAGENTA', 'AMBER' => 'AMBAR' ); # 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' => 'Domingo', 'Sun' => 'Dom', 'Monday' => 'Lunes', 'Mon' => 'Lun', 'Tuesday' => 'Martes', 'Tue' => 'Mar', 'Wednesday' => 'Miércoles','Wed' => 'Mié', 'Thursday' => 'Jueves', 'Thu' => 'Jue', 'Friday' => 'Viernes', 'Fri' => 'Vie', 'Saturday' => 'Sábado', 'Sat' => 'Sab' ); %month = ( 'January' => 'Enero', 'February' => 'Febrero' , 'March' => 'Marzo', 'Jan' => 'Ene', 'Feb' => 'Feb', 'Mar' => 'Mar', 'April' => 'Abril', 'May' => 'Mayo', 'June' => 'Junio', 'Apr' => 'Abr', 'May' => 'Mai', 'Jun' => 'Jun', 'July' => 'Julio', 'August' => 'Agosto', 'September' => 'Setiembre', 'Jul' => 'Jul', 'Aug' => 'Ago', 'Sep' => 'Set', 'October' => 'Octubre', 'November' => 'Noviembre', 'December' => 'Diciembre', 'Oct' => 'Oct', 'Nov' => 'Nov', 'Dec' => 'Dic' ); @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]." a las ".$quux[1]; }; return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]"; }; return $string; } # 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$1', 'Max(.*)' => 'Max$1', 'Current(.*)' => 'Senaste$1', 'version' => 'version', '`Daily\' Graph \((.*) Minute' => 'Daglig graf (samplingsintervall $1 minut(er)', '`Weekly\' Graph \(30 Minute' => 'Veckovis graf (medelv酺de per 30 minuter' , '`Monthly\' Graph \(2 Hour' => 'Månatlig graf (medelv酺de per 2 timmar', '`Yearly\' Graph \(1 Day' => 'Årlig graf (medelv酺de per dygn', 'Incoming Traffic in (\S+) per Second' => 'Inkommande trafik i $1 per sekund', 'Outgoing Traffic in (\S+) per Second' => 'Utg嶒nde trafik i $1 per sekund', 'at which time (.*) had been up for(.*) days,(.*)' => '$1 har varit igång i$2 dagar och$3', 'at which time (.*) had been up for(.*) day,(.*)' => '$1 har varit igång i$2 dag och$3', # '([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; }; # Turkish sub turkish { 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... %translations = ( 'charset=iso-8859-9' => 'charset=iso-8859-9', 'Maximal 5 Minute Incoming Traffic' => '5 dakika i蓾n en yksek giri trafi簨', 'Maximal 5 Minute Outgoing Traffic' => '5 dakika i蓾n en yksek 踦k trafi簨', 'the device' => 'aygt', 'The statistics were last updated(.*)' => '酨tatistiklerin en son gncellenmesi $1', ' Average\)
' => ' Ortalama)

', 'Average(.*)' => 'Ortalama $1', 'Max(.*)' => 'EnYksek;x$1', 'Current(.*)' => '煪Anki$1', 'version' => 'srm', '`Daily\' Graph \((.*) Minute' => 'Gnlk ($1 dakika :', '`Weekly\' Graph \(30 Minute' => 'Haftalk (30 dakika :' , '`Monthly\' Graph \(2 Hour' => 'Aylk (2 saat :', '`Yearly\' Graph \(1 Day' => 'Yllk (1 gn :', 'Incoming Traffic in (\S+) per Second' => '$1 deki saniyelik giri trafi簨', 'Outgoing Traffic in (\S+) per Second' => '$1 deki saniyelik 踦k trafi簨', 'at which time (.*) had been up for(.*)' => '$1 Ne zamandan $2 beri ayakta', # '([kMG]?)([bB])/s' => '\$1\$2/s', # '([kMG]?)([bB])/min' => '\$1\$2/min', # '([kMG]?)([bB])/h' => '$1$2/t', # 'Bits' => 'Bit', # 'Bytes' => 'Byte' ' In:' => ' Giri:', ' Out:' => ' k:', ' Percentage' => ' Yzge:', 'Ported to OpenVMS Alpha by' => 'OpenVMS Alpha ya uyarlayan', 'Ported to WindowsNT by' => 'WindowsNT ye uyarlayan', 'and' => 've', '^GREEN' => 'YE睚L', 'BLUE' => 'MAV', 'DARK GREEN' => 'KOYU YE睚L', 'MAGENTA' => 'MACENTA', 'AMBER' => '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' => 'Pazar', 'Pzr' => 'Dom', 'Monday' => 'Pazartesi', 'Pzt' => 'Lun', 'Tuesday' => 'Sal', 'Sal' => 'Mar', 'Wednesday' => 'ドramba', 'ペ' => 'Mié', 'Thursday' => 'Perembe', 'Pr' => 'Jue', 'Friday' => 'Cuma', 'Cum' => 'Vie', 'Saturday' => 'Cumartesi', 'Cmr' => 'Sab' ); %month = ( 'January' => 'Ocak', 'February' => '煪bat', 'March' => 'Mart', 'Jan' => 'Ock', 'Feb' => '煪b', 'Mar' => 'Mar', 'April' => 'Nisan', 'May' => 'Mays', 'June' => 'Haziran', 'Apr' => 'Nis', 'May' => 'May', 'Jun' => 'Hzr', 'July' => 'Temmuz', 'August' => 'Agustos', 'September' => 'Eyll', 'Jul' => 'Tem', 'Aug' => 'Agu', 'Sep' => 'Eyl', 'October' => 'Ekim', 'November' => 'Kasm', 'December' => 'Aralk', 'Oct' => 'Ekm', 'Nov' => 'Kas', 'Dec' => 'Ara' ); @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]." a las ".$quux[1]; }; return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]"; }; } # Ukrainian sub ukrainian { 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=koi8-u', 'Maximal 5 Minute Incoming Traffic' => '篴剆奼賻媓圴 觕汛恌 婞谿竹 睋 5 訰旻', 'Maximal 5 Minute Outgoing Traffic' => '篴剆奼賻媓圴 訰汛恌 婞谿竹 睋 5 訰旻', 'the device' => '倷孖婞百', 'The statistics were last updated(.*)' => '擽埡恄 玴瓬旼恄 衲轂孖埩侂 謬昑 : $1', ' Average\)
' => ')

', 'Average(.*)' => '鬌疻鰓百$1', 'Max(.*)' => '篴剆.$1', 'Current(.*)' => '蟴婘痸圴$1', '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$1/', #'([kMG]?)([bB])/min' => '$1$2/', '([kMG]?)([bB])/h' => '$1$2/ж', 'Bits' => '礎埡', '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)." 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; }; # Ukrainian1251 - windowze encoding sub ukrainian1251 { my $string = shift; return "" unless defined $string; my(%translations,%month,%wday); my($i,$j); my(@dollar,@quux,@foo); %translations = ( 'charset=iso-8859-1' => 'charset=windows-1251', 'Maximal 5 Minute Incoming Traffic' => '枟膲鳻鳪膻 碬喃膻 襝僳喚 諘 5 礱鳹鴈', 'Maximal 5 Minute Outgoing Traffic' => '枟膲鳻鳪膻 睯麚僾鴇 襝僳喚 諘 5 礱鳹鴈', 'the device' => '瀔黓襝喲', 'The statistics were last updated(.*)' => '昢蠉臇 鍙鍒錼臇 嚦僗黓蠂膱: $1', ' Average\)
' => ')

', 'Average(.*)' => '栫謥僾喲$1', 'Max(.*)' => '枟膲鳻鳪膻$1', 'Current(.*)' => '砐襜籦鴇$1', 'version' => '瞂貘', '`Daily\' Graph \((.*) Minute' => '櫻臇鴇 襝僳喚 ( 鼫謥僾鍎 諘 $1 礱鳹鴈', '`Weekly\' Graph \(30 Minute' => '祏緱槻鴇 襝僳喚 ( 鼫謥僾鍎 諘 30 礱鳹鴈' , '`Monthly\' Graph \(2 Hour' => '抭籦鴇 襝僳喚 ( 鼫謥僾鍎 諘 鳱i 蜦儰膻', '`Yearly\' Graph \(1 Day' => '迣籦鴇 襝僳喚 ( 鼫謥僾鍎 諘 鍱鴈 麧薤', '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$1/鼫', '([kMG]?)([bB])/min' => '$1$2/礱', '([kMG]?)([bB])/h' => '$1$2/蜦', '([bB])/s' => '$1/鼫', '([bB])/min' => '$1/礱', '([bB])/h' => '$1/蜦', 'Bits' => '幙蠉', 'Bytes' => '摳澽僛', ' In:' => ' 碬喃:', ' Out:' => ' 睯麚:', ' Percentage' => ' 糧儊闅鍧:', 'Ported to OpenVMS Alpha by' => '砐貗鍒鳧 縺 OpenVMS Alpha', 'Ported to WindowsNT by' => '砐貗鍒鳧 縺 WindowsNT', 'and' => '蠉', 'RED' => '覂陔怤', '^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; };