1# -*- mode: Perl -*-
2######################################################################
3### Localization of mrtg output pages
4######################################################################
5#                                                                    #
6#   This is a generated perl module file.                            #
7#   Please see the perl script mergelocale.pl and the language       #
8#   databasefiles skelton.pm0 and locale.*.pmd in translate/.        #
9#   If you want to contribute to mrtg change in the *.pmd files.     #
10#   If you just want to change your own mrtg: Go ahead and edit!     #
11#                                                                    #
12######################################################################
13### Defines programs which handles centralized pattern matching and pattern
14### replacements in order to translate the given strings
15######################################################################
16### Created by:  Morten Storgaard Nielsen <msn@ipt.dtu.dk>
17###################################################################
18#
19# Distributed under the GNU copyleft
20#
21###################################################################
22### Locale by:
23###      Belarusian/Беларуская
24###      => Глеб Валошка <375gnu@gmail.com>
25###      Chinese/�����c��
26###      => Tate Chen ���@�� <tate@joy-tech.com.tw>
27###      => Ryan Huang ���F�� <ryan@asplord.com>
28###      Brazil/Brazilian Portuguese
29###      => Luiz Felipe R E <luizfelipe@encarnacao.com>
30###      => Gleydson Mazoli da Silva <gleydson@debian.org> (Atualiza��o)
31###      Bulgarian/���������
32###      => Yovko Lambrev <yovko@sdf.lonestar.org>
33###      catalan/Catal
34###      => LLu�s Gras <lluis@seccat.com>
35###      Simplified Chinese/��������
36###      => �ƻ��� <webmaster@kingisme.com>
37###	 => QQ:582955 ��ӭ����FreeBSD
38###	 => ������ԭ���Ĵ���.�����°汾.
39###      cn/�����
40###      => ��� <zurkabsd@yahoo.com.cn>
41###	 => MSN:chenguang2001@hotmail.com FreeBSD Fan
42###	 => MRTG��������.
43###      Croatian/Hrvatski
44###      => Dinko Korunic <kreator@fly.srk.fer.hr>
45###      Czech/�esky
46###      => Martin Och <martin@och.cz>
47###      Danish/Dansk
48###      => Morten Storgaard Nielsen <msn@ipt.dtu.dk>
49###      Dutch/Nederlands
50###      => Barry van Dijk <barry@dijk.com>
51###      Estonian/Eesti
52###      => Klemens Kasemaa <klem@linux.ee>
53###      ���ܸ�(EUC-JP)
54###      => Fuminori Uematsu <uematsu@kgz.com>
55###      Finnish/Suomi
56###      => Jussi Siponen <jussi.siponen@online.tietokone.fi>
57###      French/Francais
58###      => Fabrice Prigent <fabrice.prigent@univ-tlse1.fr>
59###         and St�phane Marzloff <secrer@le-bar.fdn.fr>
60###      Galician/Galego
61###      => David Garabana Barro <dgaraban@arrakis.es>
62###      Chinese/���庺��
63###      => Zhanghui �Ż� <zhanghui2@asiainfo.com>
64###      Chinese/���ļ���
65###      => Peter Wong ����<me@tcpip.com.cn>
66###      German/Deutsch
67###      => Ilja Pavkovic <illsen@gumblfarz.de>
68###      Greek/Ellinika
69###      => Simos Xenitellis <simos@hellug.gr>
70###      Hungarian/Magyar
71###      => Levente Nagy <levinet@euroweb.hu>
72###      Icelandic/Islenska
73###      => Halldor Karl H�gnason <halldor.hognason@islandssimi.is>
74###      Indonesian/Indonesia
75###      => Jamaludin Ahmad <jamaludin@jamalinux.com>
76###      taken from malaysian translation
77###        by  Assakhof Ab. Satar <assakhof@mimos.my>
78###      $BF|K\8l(B(ISO-2022-JP)
79###      => Fuminori Uematsu <uematsu@kgz.com>
80###      Italian/Italiano
81###      => Andrea Rossi <rouge@shiny.it>
82###      Korean
83###      => Kensoon Hwang <lovesh@static.co.kr>
84###         CHOI Junho <cjh@kr.FreeBSD.org>
85###      Lithuanian/Lietuvi�kai
86###      => ve <ve@hardcore.lt>
87###      Macedonian/Makedonski
88###      => Delev Zoran <delevz@esmak.com.mk>
89###      Malaysian/Malay
90###      => Assakhof Ab. Satar <assakhof@mimos.my>
91###      Norwegian/norsk
92###      => Knut Gr�neng <knut.groneng@merkantildata.no
93###      Polish/Polski
94###      => Lukasz Jokiel <Lukasz.Jokiel@klonex.com.pl>
95###      Portuguese/Portugu�s
96###      => Diogo Gomes <etdgomes@ua.pt>
97###      Rom�n/Romanian
98###      => J�zsef Szil�gyi <jozsi@maxiq.ro>
99###      Russian/�������
100###      => ������� ��������� <dima@chg.ru>
101###      Russian1251/�������1251
102###      => ��������� ����� <aredyuk@irmcity.com>
103###      Serbian/Srpski
104###      => Ratko Bucic <ratko@ni.ac.yu>
105###      Slovak/Slovensky
106###      => Ladislav Mihok <laco@mrokh.shmu.sk>
107###      Slovenian/Slovensko
108###      => Aljosa Us <us@sweet-sorrow.com>
109###      Spanish/Espa�ol
110###      => Marcelo Roccasalva <marcelo@linuxfan.com>
111###      Swedish/Svenska
112###      => Clas Mayer <clas@mayer.se>
113###      Turkish/T�rk�e
114###      => �zg�r C. Demir <ozgurcd@koc.net>
115###      Ukrainian/����������
116###      => ���Ǧ� ��ͦΦ����� <gray@arte-fact.net>
117###      Ukrainian/���������
118###      => Olexander Kunytsa <xakep@snark.ukma.kiev.ua>
119###
120### Contributions and fixes by:
121###
122###      0.05 fixed DARK GREEN entry		(msn@ipt.dtu.dk)
123###           fixed credits for native language (msn@ipt.dtu.dk)
124###	 0.06 added the PATCHTAGs               (msn@ipt.dtu.dk)
125###           fixed several small errors        (msn@ipt.dtu.dk)
126###	 0.07 changed PATCHTAG to support
127###           mergelocale.pl                    (msn@ipt.dtu.dk)
128###
129######################################################################
130###
131package locales_mrtg;
132
133require 5.002;
134# make sure we do not get hit by UTF-8 here
135no locale;
136use strict;
137use vars qw(@ISA @EXPORT $VERSION);
138use Exporter;
139
140$VERSION = '0.07';
141
142@ISA = qw(Exporter);
143
144@EXPORT = qw
145(
146  &english
147  &belarusian
148  &big5
149  &brazilian
150  &bulgarian
151  &catalan
152  &chinese
153  &cn
154  &croatian
155  &czech
156  &danish
157  &dutch
158  &estonian
159  &eucjp
160  &german
161  &french
162  &galician
163  &gb
164  &gb2312
165  &german
166  &greek
167  &hungarian
168  &icelandic
169  &indonesia
170  &iso2022jp
171  &italian
172  &korean
173  &lithuanian
174  &macedonian
175  &malay
176  &norwegianh
177  &polish
178  &portuguese
179  &romanian
180  &russian
181  &russian1251
182  &serbian
183  &slovak
184  &slovenian
185  &spanish
186  &swedish
187  &turkish
188  &ukrainian
189  &ukrainian1251
190);
191
192%lang2tran::LOCALE=
193(
194  'english'      => \&english,
195  'default'      => \&english,
196  'belarusian'       => \&belarusian,
197  'беларуская'       => \&belarusian,
198  'big5'         => \&big5,
199  '�����c��'     => \&big5,
200  'brazil'       => \&brazilian,
201  'brazilian'    => \&brazilian,
202  'bulgarian'	 => \&bulgarian,
203  '���������'    => \&bulgarian,
204  'catalan'	 => \&catalan,
205  'catalan'	 => \&catalan,
206  'chinese'          => \&chinese,
207  '��������'         => \&chinese,
208  'cn'          => \&cn,
209  '�����'         => \&cn,
210  'croatian'	 => \&croatian,
211  'hrvatski'       => \&croatian,
212  'czech' 	 => \&czech,
213  'danish'       => \&danish,
214  'dansk'        => \&danish,
215  'dutch'        => \&dutch,
216  'nederlands'   => \&dutch,
217  'estonian'       => \&estonian,
218  'eesti'        => \&estonian,
219  'eucjp'        => \&eucjp,
220  'euc-jp'       => \&eucjp,
221  'finnish'       => \&finnish,
222  'suomi'        => \&finnish,
223  'french'       => \&french,
224  'francais'     => \&french,
225  'galician'       => \&galician,
226  'galego'        => \&galician,
227  'gb'         => \&gb,
228  '���庺��'     => \&gb,
229  'gb2312'         => \&gb2312,
230  '���ļ���'     => \&gb2312,
231  'german'       => \&german,
232  'german'        => \&german,
233  'greek'    	 => \&greek,
234  'ellinika' 	 => \&greek,
235  'hungarian'       => \&hungarian,
236  'magyar'        => \&hungarian,
237  'icelandic'       => \&icelandic,
238  'islenska'        => \&icelandic,
239  'indonesia'     => \&indonesia,
240  'indonesian'	  => \&indonesia,
241  'iso2022jp'    => \&iso2022jp,
242  'iso-2022-jp'  => \&iso2022jp,
243  'italian'    	 => \&italian,
244  'italiano' 	 => \&italian,
245  'korean'      => \&korean,
246  'lithuanian'       => \&lithuanian,
247  'lietuvi�kai'        => \&lithuanian,
248  'macedonian'       => \&macedonian,
249  'makedonski'        => \&macedonian,
250  'malay'       => \&malay,
251  'malaysian'   => \&malay,
252  'norwegian'       => \&norwegian,
253  'norsk'        => \&norwegian,
254  'polish'	 => \&polish,
255  'polski'       => \&polish,
256  'portuguese'     => \&portuguese,
257  'romanian'     => \&romanian,
258  'rom�n'        => \&romanian,
259  'russian'	 => \&russian,
260  '�������'      => \&russian,
261  'russian1251'	 => \&russian1251,
262  '�������1251'      => \&russian1251,
263  'serbian' 	 => \&serbian,
264  'slovak' 	 => \&slovak,
265  'slovenian' 	 => \&slovenian,
266  'spanish'	 => \&spanish,
267  'espanol'	 => \&spanish,
268  'swedish'       => \&swedish,
269  'svenska'        => \&swedish,
270  'turkish'	 => \&turkish,
271  'turkce'	 => \&turkish,
272  'ukrainian'	 => \&ukrainian,
273  '����������'      => \&ukrainian,
274  'ukrainian1251'	=> \&ukrainian1251,
275  '���������1251'	=> \&ukrainian1251,
276);
277
278%credits::LOCALE=
279  (
280# default
281   'default' =>
282   "Prepared for localization by
283				<a href=\"http://www.ipt.dtu.dk\">Morten S. Nielsen</a>
284				<a href=\"mailto:msn\@ipt.dtu.dk\">&lt;msn\@ipt.dtu.dk&gt;</a>",
285# Belarusian/беларуская
286   'belarusian' =>
287   "Беларускі пераклад:
288				<a href=\"http://375gnu.wordpress.com\">Глеб Валошка</a>
289				<a href=\"mailto:375gnu\@gmail.com\">&lt;375gnu\@gmail.com&gt;</a>",
290# Chinese/�����c��
291   'big5' =>
292   "����Ƨ@��
293				<a href=\"http://www.joy-tech.com.tw/~tate\">Tate Chen</a>
294				<a href=\"mailto:tate\@joy-tech.com.tw\">&lt;tate\@joy-tech.com.tw&gt;</a><br />
295				and <a href=\"http://asplord.com\">���F��</a>
296				<a href=\"mailto:ryan\@asplord.com\">&lt;ryan\@asplord.com&gt;</a>",
297# Brazil/brazilian
298   'brazilian' =>
299   "Localiza&ccedil;&atilde;o efetuada por
300				<a href=\"http://www.encarnacao.com\">Luiz Felipe R E</a>
301				<a href=\"mailto:luizfelipe\@encarnacao.com\">&lt;luizfelipe\@encarnacao.com&gt;</a><br />
302				atualiza��o por Gleydson Mazioli da Silva
303				<a href=\"mailto:gleydson\@debian.org\">&lt;gleydson\@debian.org&gt;</a>",
304# Bulgarian/���������
305   'bulgarian' =>
306   "����������� �� ��������� ����:
307				<a href=\"http://linux.gyuvet.ch/\">����� �������</a>
308				<a href=\"mailto:yovko\@sdf.lonestar.org\">&lt;yovko\@sdf.lonestar.org&gt;</a>",
309# catalan/catalan
310    'catalan' =>
311    "Preparat per a localitzaci� per:
312				<a hre=\"mailto:lluis\@seccat.com\">LLu�s Gras</a>",
313# Simplified Chinese/��������
314   'chinese' =>
315   "ȫ�¼������ĺ�����
316				<a href=\"http://www.kingisme.com\">�ƻ���</a>
317				<a href=\"mailto:webmaster\@kingisme.com\">&lt;webmaster\@kingisme.com&gt;</a>",
318# cn/�����
319   'cn' =>
320   "  <HR NOSHADE>
321    MRTG����������
322    <NOBR><A HREF=\"http://www.darkstage.net\">���</A>
323  <A HREF=\"mailto:zurkabsd\@yahoo.com.cn\">
324  &lt;zurkabsd\@yahoo.com.cn&gt;</A></NOBR>",
325# Croatian/hrvatski
326   'croatian' =>
327   "Hrvatska lokalizacija -
328				Dinko Korunic
329				<a href=\"mailto:kreator\@fly.srk.fer.hr\">&lt;kreator\@fly.srk.fer.hr&gt;</a>",
330# Czech/�esky
331   'czech' =>
332   "�esk� p�eklad p�ipravil
333				<a href=\"http://www.och.cz\">Martin Och</a>
334				<a href=\"mailto:martin\@och.cz\"> &lt;martin\@och.cz&gt;</a>",
335# Danish/dansk
336   'danish' =>
337   "Forberedt for sprog samt oversat til dansk af
338				<a href=\"http://www.ipt.dtu.dk\">Morten S. Nielsen</a>
339				<a href=\"mailto:msn\@ipt.dtu.dk\">&lt;msn\@ipt.dtu.dk&gt;</a>",
340# the danish string means: "Prepared for languages and translated to danish by"
341# Dutch/nederlands
342   'dutch' =>
343   "Vertaald naar het Nederlands door
344				<a href=\"http://doema.peterson.nl\">Barry van Dijk</a>
345				<a href=\"mailto:barry\@dijk.com\">&lt;barry\@dijk.com&gt;</a><br />;
346  Aangepast door Paul Slootman
347				<a href=\"mailto:paul\@debian.org\">&lt;paul\@debian.org&gt;</a>",
348# Estonian/Eesti
349   'estonian' =>
350   "T&otilde;lge eesti keelde
351				<a href=\"http://www.linux.ee/~klem\">Klemens Kasemaa</a>
352				<a href=\"mailto:klem\@linux.ee\">&lt;klem\@linux.ee&gt;</a>",
353# the estonian string means: "Translation to estonian by"
354# eucjp/euc-jp
355   'eucjp' =>
356   "���ܸ���(EUC-JP)����
357				<a href=\"http://www.kgz.com/~uematsu/\">���� ʸ��</a>
358				<a href=\"mailto:uematsu\@kgz.com\">&lt;uematsu\@kgz.com&gt;</a>",
359# Finnish/Suomi
360   'finnish' =>
361   "Lokalisoinut
362				Jussi Siponen
363				<a href=\"mailto:jussi.siponen\@online.tietokone.fi\">&lt;jussi.siponen\@online.tietokone.fi&gt;</a>",
364# the Finnish string means: "Localized by"
365# French/francais
366   'french' =>
367   "Localisation effectu&eacute;e par
368				<a href=\"http://cache.univ-tlse1.fr/les.personnes/fabrice.prigent\">Fabrice Prigent</a>
369				<a href=\"mailto:fabrice.prigent\@univ-tlse1.fr\">&lt;fabrice.prigent\@univ-tlse1.fr&gt;</a>",
370# Galician/Galego
371   'galician' =>
372   "Traducido ao galego por
373				David Garabana Barro
374				<a href=\"mailto:dgaraban\@arrakis.es\">&lt;dgaraban\@arrakis.es&gt;</a>",
375# Chinese/���庺��
376   'gb' =>
377   "����Ƨ@��
378				<a href=\"http://www.asiainfo.com/~zhanghui\">Hui Zhang</a>
379				<a href=\"mailto:zhanghui2\@asiainfo.com\">&lt;zhanghui\@asiainfo.com&gt;</a>",
380# Chinese/���ļ���
381   'gb2312' =>
382   "���Ļ�����
383				<a href=\"http://linux.tcpip.com.cn\">Peter Wong</a>
384				<a href=\"mailto:webmaster\@tcpip.com.cn\">&webmaster\@tcpip.com.cn&gt;</a>",
385# German/deutsch
386   'german' =>
387   "Vorbereitet f&uuml;r die Lokalisation von
388				<a href=\"http://www.gumblfarz.de/~illsen\">Ilja Pavkovic</a>
389				<a href=\"mailto:illsen\@gumblfarz.de\">&lt;illsen\@gumblfarz.de&gt;</a>",
390# Greek/Ellinika
391   'greek' =>
392   "������������ ��� �������� ��� ��
393				<a href=\"http://hq.hellug.gr/~nls\">���� ���������</a>
394				<a href=\"mailto:S.Xenitellis\@hellug.gr\">&lt;S.Xenitellis\@hellug.gr&gt;</a>",
395# Hungarian/magyar
396   'hungarian' =>
397   "Magyaros&iacute;totta
398				Nagy Levente
399				<a href=\"mailto:levinet\@euroweb.hu\">&lt;levinet\@euroweb.hu&gt;</a>",
400# the hungarian string means: "Prepared for languages and translated to Hungarian by"
401# Icelandic/islenska
402   'icelandic' =>
403   "&THORN;&yacute;tt yfir &aacute; &iacute;slensku af
404				<a href=\"http://www.islandssimi.is\">Halld&oacute;r Karl H&ouml;gnason</a>
405				<a href=\"mailto:halldor.hognason\@islandssimi.is\">&lt;halldor.hognason\@islandssimi.is&gt;</a>",
406# Indonesian/Indonesia
407   'indonesia' =>
408   "Terjemahan ke bahasa Indonesia oleh:
409				<a href=\"http://www.jamalinux.com\">Jamaludin Ahmad</a>
410				<a href=\"mailto:jamaludin_at_jamalinux_dot_com\">&lt;jamaludin\@jamalinux.com&gt;</a>",
411# iso2022jp/iso-2022-jp
412   'iso2022jp' =>
413   "\e\$BF|K\\8lLu\e(B(ISO-2022-JP)\e\$B:n\@.\e(B
414				<a href=\"http://www.kgz.com/~uematsu/\">\e\$B?\">>\e(B \e\$BJ8FA\e(B</a>
415				<a href=\"mailto:uematsu\@kgz.com\">&lt;uematsu\@kgz.com&gt;</a>",
416# Italian/Italiano
417   'italian' =>
418   "Localizzazione effettuata da
419				<a href=\"http://www.shinystat.it\">Andrea Rossi</a>
420				<a href=\"mailto:rouge\@shiny.it\">&lt;rouge\@shiny.it&gt;</a>",
421# korean
422   ,'korean' =>
423   "�ѱ۸޽��� ����:
424				<a href=\"mailto:lovesh\@static.co.kr\">Ȳ�Ǽ�</a>,
425				<a href=\"mailto:cjh\@kr.FreeBSD.org\">����ȣ</a>",
426# Lithuanian/lietuvi�kai
427   'lithuanian' =>
428   "Paruo�� ir � lietuvi� kalb� i�vert�
429				<a href=\"http://www.hardcore.lt\">ve</a>
430				<a href=\"mailto:ve\@hardcore.lt\">&lt;ve\@hardcore.lt&gt;</a>",
431# the lithuanian string means: "Prepared for languages and translated to lithuanian by"
432# Macedonian/makedonski
433   'macedonian' =>
434   "Makedonska lokalizacija -
435				<a href=\"http://www.esmak.com.mk\">Delev D Zoran</a>
436				<a href=\"mailto:delevz\@esmak.com.mk\">&lt;delevz\@esmak.com.mk&gt;</a>",
437# the macedonian string means: "Prepared for languages and translated to macedonian by"
438# Malaysian/Malay
439   'malay' =>
440   "Terjemahan ke bahasa Malaysia/Indonesia oleh:
441				<a href=\"http://www.mimos.my\">Assakhof Ab. Satar</a>
442				<a href=\"mailto:assakhof\@mimos.my\">&lt;assakhof\@mimos.my&gt;</a>",
443# Danish/dansk
444   'norwegian' =>
445   "Oversatt til norsk av
446				Knut Gr�neng
447				<a href=\"mailto:knut.groneng\@merkantildata.no\">&lt;knut.groneng\@merkantildata.no&gt;</a>",
448# the norwegian string means: "Translated to norwegian by"
449# Polish/polski
450   'polish' =>
451   "Polska lokalizacja
452				<a href=\"http://www.klonex.com.pl/~lcj\">Lukasz Jokiel</a>
453				<a href=\"mailto:Lukasz.Jokiel\@klonex.com.pl\">&lt;Lukasz.Jokiel\@klonex.com.pl&gt;</a>",
454# Portugu�s/portuguese
455   'portuguese' =>
456   "Traduzido por
457				<a href=\"http://sweet.ua.pt/~etdgomes\">Diogo Gomes</>
458				<a href=\"mailto:etdgomes\@ua.pt\">&lt;etdgomes\@ua.pt&gt;</a>",
459# Rom�n/romanian
460   'romanian' =>
461   "Tradus de
462				<a href=\"http://szjozsef.go.ro/\">J�zsef Szil�gyi</a>
463				<a href=\"mailto:jozsi\@maxiq.ro\">&lt;jozsi\@maxiq.ro&gt;</a>",
464# Russian/�������
465   'russian' =>
466   "������� �� ������� ����:
467				<a href=\"http://mitya.pp.ru/\">������� ���������</a>
468				<a href=\"mailto:mitya\@cavia.pp.ru\">&lt;mitya\@cavia.pp.ru&gt;</a>",
469# Russian1251/�������1251
470   'russian1251' =>
471   "������� �� ������� ���� (��������� 1251):
472				<a href=\"http://www.irmcity.com\">��������� �����</a>
473				<a href=\"mailto:aredyuk\@irmcity.com\">&lt;aredyuk\@irmcity.com&gt;</a>",
474# Serbian/Srpski
475   'serbian' =>
476   "Ported to Serbian by / Srpski prevod uradio:
477				Ratko Bu�i�
478				<a href=\"mailto:ratko\@ni.ac.yu\">&lt;ratko\@ni.ac.yu&gt;</a>",
479# Slovak/Slovensky
480   'slovak' =>
481   "Slovensk� preklad pripravil
482				Ing. Ladislav Mihok
483				<a href=\"mailto:laco\@mrokh.shmu.sk\">&lt;laco\@mrokh.shmu.sk&gt;</a>",
484# Slovenian/Slovensko
485   'slovenian' =>
486   "Slovenski prevod pripravil
487				Ragnar Belial Us
488				<a href=\"mailto:us\@sweet-sorrow.com\">&lt;us\@sweet-sorrow.com&gt;</a>",
489# Spanish/espa�ol
490    'spanish' =>
491    "Preparado para localizaci�n por
492				<a href=\"mailto:marcelo\@linuxfan.com\">Marcelo Roccasalva</a>",
493# Swedish/Svenska
494   'swedish' =>
495   "&Oumlversatt till svenska av
496				Clas Mayer
497				<a href=\"mailto:clas\@mayer.se\">&lt;clas\@mayer.se&gt;</a>",
498# the Swedish string means: "Prepared for languages and translated to Swedish by"
499# Turkish/T�rk�e
500    'turkish' =>
501    "T�rk�ele�tiren
502				<a href=\"mailto:ozgurcd\@koc.net\">�zg�r C. Demir</a>",
503# Ukrainian/����������
504   'ukrainian' =>
505   "�������� �� ���������� ����:
506				<a href=\"http://www.arte-fact.net/~gray/\">���Ǧ� ��ͦΦ�����</a>
507				<a href=\"mailto:gray\@arte-fact.net\">&lt;gray\@arte-fact.net&gt;</a>",
508# Ukrainian1251/���������1251
509   'ukrainian1251'	=>
510   "�������� ���������� (cp1251):
511				��������� ������
512				<a href=\"mailto:xakep\@snark.ukma.kiev.ua\">&lt;xakep\@snark.ukma.kiev.ua&gt;</a>",
513  );
514
515$credits::LOCALE{'беларуская'}=$credits::LOCALE{'belarusian'};
516$credits::LOCALE{'�����c��'}=$credits::LOCALE{'big5'};
517$credits::LOCALE{'brazil'}=$credits::LOCALE{'brazilian'};
518$credits::LOCALE{'���������'}=$credits::LOCALE{'bulgarian'};
519$credits::LOCALE{'catalan'}=$credits::LOCALE{'catalan'};
520$credits::LOCALE{'��������'}=$credits::LOCALE{'Chinese'};
521$credits::LOCALE{'�����'}=$credits::LOCALE{'cn'};
522$credits::LOCALE{'hrvatski'}=$credits::LOCALE{'croatian'};
523$credits::LOCALE{'czech'}=$credits::LOCALE{'czech'};
524$credits::LOCALE{'dansk'}=$credits::LOCALE{'danish'};
525$credits::LOCALE{'nederlands'}=$credits::LOCALE{'dutch'};
526$credits::LOCALE{'eesti'}=$credits::LOCALE{'estonian'};
527$credits::LOCALE{'euc-jp'}=$credits::LOCALE{'eucjp'};
528$credits::LOCALE{'finnish'}=$credits::LOCALE{'finnish'};
529$credits::LOCALE{'francais'}=$credits::LOCALE{'french'};
530$credits::LOCALE{'galego'}=$credits::LOCALE{'galician'};
531$credits::LOCALE{'���庺��'}=$credits::LOCALE{'gb'};
532$credits::LOCALE{'���ļ���'}=$credits::LOCALE{'gb2312'};
533$credits::LOCALE{'deutsch'}=$credits::LOCALE{'german'};
534$credits::LOCALE{'ellinika'}=$credits::LOCALE{'greek'};
535$credits::LOCALE{'magyar'}=$credits::LOCALE{'hungarian'};
536$credits::LOCALE{'islenska'}=$credits::LOCALE{'icelandic'};
537$credits::LOCALE{'indonesian'}=$credits::LOCALE{'indonesia'};
538$credits::LOCALE{'iso-2022-jp'}=$credits::LOCALE{'iso2022jp'};
539$credits::LOCALE{'italiano'}=$credits::LOCALE{'italian'};
540$credits::LOCALE{'korean'}=$credits::LOCALE{'korean'};
541$credits::LOCALE{'lietuvi�kai'}=$credits::LOCALE{'lithuanian'};
542$credits::LOCALE{'macedonian'}=$credits::LOCALE{'macedonian'};
543$credits::LOCALE{'malaysian'}=$credits::LOCALE{'malay'};
544$credits::LOCALE{'norsk'}=$credits::LOCALE{'norwegian'};
545$credits::LOCALE{'polski'}=$credits::LOCALE{'polish'};
546$credits::LOCALE{'portuguese'}=$credits::LOCALE{'portuguese'};
547$credits::LOCALE{'rom�n'}=$credits::LOCALE{'romanian'};
548$credits::LOCALE{'�������'}=$credits::LOCALE{'russian'};
549$credits::LOCALE{'�������1251'}=$credits::LOCALE{'russian1251'};
550$credits::LOCALE{'serbian'}=$credits::LOCALE{'serbian'};
551$credits::LOCALE{'slovak'}=$credits::LOCALE{'slovak'};
552$credits::LOCALE{'slovenian'}=$credits::LOCALE{'slovenian'};
553$credits::LOCALE{'espanol'}=$credits::LOCALE{'spanish'};
554$credits::LOCALE{'svenska'}=$credits::LOCALE{'swedish'};
555$credits::LOCALE{'turkce'}=$credits::LOCALE{'turkish'};
556$credits::LOCALE{'����������'}=$credits::LOCALE{'ukrainian'};
557$credits::LOCALE{'���������1251'}=$credits::LOCALE{'ukrainian1251'};
558
559# English - default
560sub english
561{
562  return shift;
563};
564
565# Belarusian
566
567sub belarusian
568{
569  my $string = shift;
570  return "" unless defined $string;
571  my(%translations,%month,%wday);
572
573  my($i,$j);
574  my(@dollar,@quux,@foo);
575
576
577  # regexp => replacement string NOTE does not use autovars $1,$2...
578  # charset=utf-8
579
580  %translations =
581  (
582     'iso-8859-1'                             => 'utf-8',
583     'Maximal 5 Minute Incoming Traffic'      => 'Найбольшы ўваходны трафік за 5 хвілін',
584     'Maximal 5 Minute Outgoing Traffic'      => 'Найбольшы выходны трафік за 5 хвілін',
585     'the device'                             => 'прылада',
586     'The statistics were last updated(.*)'   => 'Апошні раз статыстыка абнаўлялася: $1',
587     ' Average\)'                             => ')',
588     'Average'                                => 'спасярэднены',
589     'Max'                                    => 'найбольшы',
590     'Current'                                => 'бягучы',
591     'version'                                => 'вэрсія',
592     '`Daily\' Graph \((.*) Minute'           => 'Графік трафіку за суткі (за $1 хвілін ',
593     '`Weekly\' Graph \(30 Minute'            => 'Графік трафіку за тыдзень (за 30 хвілін ',
594     '`Monthly\' Graph \(2 Hour'              => 'Графік трафіку за месяц (за 2 гадзіны ',
595     '`Yearly\' Graph \(1 Day'                => 'Графік трафіку за год (за 1 дзень ',
596     'Incoming Traffic in (\S+) per Second'   => 'Уваходны трафік $1 за сэкунду',
597     'Outgoing Traffic in (\S+) per Second'   => 'Выходны трафік $1 за сэкунду',
598     'Incoming Traffic in (\S+) per Minute'   => 'Уваходны трафік $1 за хвіліну',
599     'Outgoing Traffic in (\S+) per Minute'   => 'Выходны трафік $1 за хвіліну',
600     'Incoming Traffic in (\S+) per Hour'     => 'Уваходны трафік $1 за гадзіну',
601     'Outgoing Traffic in (\S+) per Hour'     => 'Выходны трафік $1 за гадзіну',
602     'at which time (.*) had been up for(.*)' => 'калі $1 працаваў $2',
603     '(\S+) per minute'			      => '$1 за хвіліну',
604     '(\S+) per hour'			      => '$1 за гадзіну',
605     '(.+)/s$'                                => '$1/с',
606     '(.+)/min'                               => '$1/хв',
607     '(.+)/h$'                                => '$1/г',
608     '([kMG]?)([bB])/s'                       => '$1$2/с',
609     '([kMG]?)([bB])/min'                     => '$1$2/хв',
610     '([kMG]?)([bB])/h'                       => '$1$2/г',
611     'Bits'                                   => 'бітах',
612     'Bytes'                                  => 'байтах',
613     'In'                                     => 'Уваходны',
614     'Out'                                    => 'Выходны',
615     'Percentage'                             => 'Адсоткі',
616     'Ported to OpenVMS Alpha by'             => 'Перанос на OpenVMS:',
617     'Ported to WindowsNT by'                 => 'Перанос на WindowsNT:',
618     'and'                                    => 'і',
619     '^GREEN'                                 => 'ЗЯЛЁНЫ',
620     'BLUE'                                   => 'СІНІ',
621     'DARK GREEN'                             => 'ЦЁМНАЗЯЛЁНЫ',
622     'MAGENTA'                                => 'РУЖОВЫ',
623     'AMBER'                                  => 'БУРШТЫНАВЫ'
624  );
625
626# maybe expansions with replacement of whitespace would be more appropriate
627
628foreach $i (keys %translations)
629{
630  my $trans = $translations{$i};
631  $trans =~ s/\|/\|/;
632  return $string if eval " \$string =~ s|\${i}|${trans}| ";
633};
634
635%wday =
636    (
637      'Sunday'    => 'Нядзеля',     'Sun' => 'Нд',
638      'Monday'    => 'Панядзелак',  'Mon' => 'Пн',
639      'Tuesday'   => 'Аўторак',     'Tue' => 'Аў',
640      'Wednesday' => 'Серада',      'Wed' => 'Ср',
641      'Thursday'  => 'Чацьвер',     'Thu' => 'Чц',
642      'Friday'    => 'Пятніца',     'Fri' => 'Пт',
643      'Saturday'  => 'Субота',      'Sat' => 'Сб'
644    );
645
646%month =
647    (
648      'January'   => 'Студзень',  'February'  => 'Люты' ,       'March'     => 'Сакавік',
649      'Jan'       => 'Сту',       'Feb'       => 'Лют',         'Mar'       => 'Сак',
650      'April'     => 'Красавік',  'May'       => 'Травень',     'June'      => 'Чэрвень',
651      'Apr'       => 'Кра',       'May'       => 'Тра',         'Jun'       => 'Чэр',
652      'July'      => 'Ліпень',    'August'    => 'Жнівень',     'September' => 'Верасень',
653      'Jul'       => 'Ліп',       'Aug'       => 'Жні',         'Sep'       => 'Вер',
654      'October'   => 'Кастрычнік','November'  => 'Лістапад',    'December'  => 'Сьнежань',
655      'Oct'       => 'Кас',       'Nov'       => 'Ліс',         'Dec'       => 'Сьн'
656    );
657
658  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
659  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
660    {
661	if($foo[3]=~(/(.*)at(.*)/))
662      {
663        @quux=split(/at/,$foo[3]);
664        $foo[3]=$quux[0]." у ".$quux[1];
665      };
666      return "$wday{$foo[0]}, $foo[1] $month{$foo[2]} $foo[3]";
667    };
668
669#
670# handle two different time/date formats:
671# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
672# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
673#
674
675# handle nontranslated strings which ought to be translated
676# print STDERR "$_\n" or print DEBUG "not translated $_";
677# but then again we might not want/need to translate all strings
678
679  return $string;
680
681};
682
683
684
685# Chinese Big5 Code
686
687sub big5
688{
689  my $string = shift;
690  return "" unless defined $string;
691  my(%translations,%month,%wday);
692
693  my($i,$j);
694  my(@dollar,@quux,@foo);
695
696
697  # regexp => replacement string NOTE does not use autovars $1,$2...
698  # charset=iso-2022-jp
699
700  %translations =
701  (
702     'iso-8859-1'                             => 'big5',
703     'Maximal 5 Minute Incoming Traffic'      => '5�����̤j�y�J�q',
704     'Maximal 5 Minute Outgoing Traffic'      => '5�����̤j�y�X�q',
705     'the device'                             => '�˸m',
706     'The statistics were last updated(.*)'   => '�W���έp��s�ɶ�: $1',
707     ' Average\)'                             => ' ����)',
708     'Average'                                => '����',
709     'Max$'                                   => '�̤j',
710     'Current'                                => '�ثe',
711     'version'                                => '����',
712     '`Daily\' Graph \((.*) Minute'           => '�C�� �Ϫ� ($1 ����',
713     '`Weekly\' Graph \(30 Minute'            => '�C�g �Ϫ� (30 ����' ,
714     '`Monthly\' Graph \(2 Hour'              => '�C�� �Ϫ� (2 �p��',
715     '`Yearly\' Graph \(1 Day'                => '�C�~ �Ϫ� (1 ��',
716     'Incoming Traffic in (\S+) per Second'   => '�C��y�J�q (��� $1)',
717     'Outgoing Traffic in (\S+) per Second'   => '�C��y�X�q (��� $1)',
718     'Incoming Traffic in (\S+) per Minute'   => '�C�����y�J�q (��� $1)',
719     'Outgoing Traffic in (\S+) per Minute'   => '�C�����y�X�q (��� $1)',
720     'Incoming Traffic in (\S+) per Hour'     => '�C�p�ɬy�J�q (��� $1)',
721     'Outgoing Traffic in (\S+) per Hour'     => '�C�p�ɬy�X�q (��� $1)',
722     'at which time (.*) had been up for(.*)' => '�]�ƦW�� $1�A�w�B�@�ɶ�(UPTIME): $2',
723     '(\S+) per minute'			              => '$1/��',
724     '(\S+) per hour'			              => '$1/�p��',
725     '(.+)/s$'                                => '$1/��',
726     '(.+)/min$'                              => '$1/��',
727     '(.+)/h$'                                => '$1/�p��',
728     #'([kMG]?)([bB])/s'                      => '$1$2/s',
729     #'([kMG]?)([bB])/min'                    => '$1$2/min',
730     #'([kMG]?)([bB])/h'                      => '$1$2/std',
731     # 'Bits'                                 => 'Bits',
732     # 'Bytes'                                => 'Bytes'
733     'In'                                     => '�y�J',
734     'Out$'                                   => '�y�X',
735     'Percentage'                             => '�ʤ���',
736     'Ported to OpenVMS Alpha by'             => '���Ө� OpenVM Alpha �@��',
737     'Ported to WindowsNT by'                 => '���Ө� WindowsNT �@��',
738     'and'                                    => '��',
739     '^GREEN'                                 => '���',
740     'BLUE'                                   => '�Ŧ�',
741     'DARK GREEN'                             => '�����',
742     'MAGENTA'                                => '����',
743     'AMBER'                                  => '�[�Ħ�'
744  );
745
746# maybe expansions with replacement of whitespace would be more appropriate
747
748foreach $i (keys %translations)
749{
750  my $trans = $translations{$i};
751  $trans =~ s/\|/\|/;
752  return $string if eval " \$string =~ s|\${i}|${trans}| ";
753};
754
755%wday =
756    (
757      'Sunday'    => '�P����',        'Sun' => '��',
758      'Monday'    => '�P���@',        'Mon' => '�@',
759      'Tuesday'   => '�P���G',        'Tue' => '�G',
760      'Wednesday' => '�P���T',        'Wed' => '�T',
761      'Thursday'  => '�P���|',        'Thu' => '�|',
762      'Friday'    => '�P����',        'Fri' => '��',
763      'Saturday'  => '�P����',        'Sat' => '��'
764    );
765
766%month =
767    (
768      'January'   => '�@��',   'February'  => '�G��',    'March'     => '�T��',
769      'Jan'       => '�@',     'Feb'       => '�G',      'Mar'       => '�T',
770      'April'     => '�|��',   'May'       => '����',    'June'      => '����',
771      'Apr'       => '�|',     'May'       => '��',      'Jun'       => '��',
772      'July'      => '�C��',   'August'    => '�K��',    'September' => '�E��',
773      'Jul'       => '�C',     'Aug'       => '�K',      'Sep'       => '�E',
774      'October'   => '�Q��',   'November'  => '�Q�@��',  'December'  => '�Q�G��',
775      'Oct'       => '�Q',     'Nov'       => '�Q�@',    'Dec'       => '�Q�G'
776    );
777
778  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
779  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
780    {
781	if($foo[3]=~(/(.*)at(.*)/))
782      {
783        @quux=split(/at/,$foo[3]);
784        $foo[3]=$quux[0];
785        $foo[4]=$quux[1];
786      };
787      return "$foo[3] �~ $month{$foo[2]} $foo[1] �� $wday{$foo[0]} $foo[4]";
788    };
789
790#
791# handle two different time/date formats:
792# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
793# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
794#
795
796# handle nontranslated strings which ought to be translated
797# print STDERR "$_\n" or print DEBUG "not translated $_";
798# but then again we might not want/need to translate all strings
799
800  return $string;
801
802};
803# Brazilian (Portugues)
804
805sub brazilian
806{
807  my $string = shift;
808return "" unless defined $string;
809  my(%translations,%month,%wday);
810
811  my($i,$j);
812  my(@dollar,@quux,@foo);
813
814
815  # regexp => replacement string NOTE does not use autovars $1,$2...
816  # charset=iso-2022-jp
817
818  %translations =
819  (
820     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
821     'Maximal 5 Minute Incoming Traffic'      => 'Tr&aacute;fego M&aacute;ximo de Entrada em 5 minutos',
822     'Maximal 5 Minute Outgoing Traffic'      => 'Tr&aacute;fego M&aacute;ximo de Sa&iacute;da em 5 minutos',
823     'the device'                             => 'dispositivo',
824     'The statistics were last updated (.*)'  => '&Uacute;ltima atualiza&ccedil;&atilde;o das estat&iacute;sticas: $1',
825     ' Average\)'                             => ' - m&eacute;dia)',
826     'Average'                                => 'M&eacute;dia',
827     'Max'                                    => 'M&aacute;x',
828     'Current'                                => 'Atual',
829     'version'                                => 'vers&atilde;o',
830     '`Daily\' Graph \((.*) Minute'           => 'Gr&aacute;fico `Di&aacute;rio\' ($1 minutos',
831     '`Weekly\' Graph \(30 Minute'            => 'Gr&aacute;fico `Semanal\' (30 minutos' ,
832     '`Monthly\' Graph \(2 Hour'              => 'Gr&aacute;fico `Mensal\' (2 horas',
833     '`Yearly\' Graph \(1 Day'                => 'Gr&aacute;fico `Anual\' (1 dia',
834     'Incoming Traffic in (\S+) per Second'   => 'Tr&aacute;fego de Entrada em $1 por segundo',
835     'Outgoing Traffic in (\S+) per Second'   => 'Tr&aacute;fego de Sa&iacute;da em $1 por segundo',
836     'at which time (.*) had been up for(.*)' => 'nesta hora $1 estava ativo por $2',
837     # '([kMG]?)([bB])/s'                     => '\$1\$2/s',
838     # '([kMG]?)([bB])/min'                   => '\$1\$2/min',
839     # '([kMG]?)([bB])/h'                     => '$1$2/t',
840     # 'Bits'                                 => 'Bits',
841     # 'Bytes'                                => 'Bytes'
842     'In'                                     => 'Entr.',
843     'Out'                                    => 'Sa&iacute;',
844     'Percentage'                             => 'Porc.',
845     'Ported to OpenVMS Alpha by'             => 'Adaptado para o Alpha OpenVMS por',
846     'Ported to WindowsNT by'                 => 'Adaptado para o WindowsNT por',
847     'and'                                    => 'e',
848     '^GREEN'                                  => 'VERDE',
849     'BLUE'                                   => 'AZUL',
850     'DARK GREEN'                             => 'VERDE ESCURO',
851     'MAGENTA'                                => 'LIL&Aacute;S',
852     'AMBER'                                  => 'AMBAR'
853  );
854
855# maybe expansions with replacement of whitespace would be more appropriate
856
857foreach $i (keys %translations)
858{
859  my $trans = $translations{$i};
860  $trans =~ s/\|/\|/;
861  return $string if eval " \$string =~ s|\${i}|${trans}| ";
862};
863
864%wday =
865    (
866      'Sunday'    => 'Domingo',       'Sun' => 'Dom',
867      'Monday'    => 'Segunda',       'Mon' => 'Seg',
868      'Tuesday'   => 'Ter&ccedil;a',  'Tue' => 'Ter',
869      'Wednesday' => 'Quarta',        'Wed' => 'Qua',
870      'Thursday'  => 'Quinta',        'Thu' => 'Qui',
871      'Friday'    => 'Sexta',         'Fri' => 'Sex',
872      'Saturday'  => 'S&aacute;bado', 'Sat' => 'S&aacute;b'
873
874    );
875
876%month =
877    (
878      'January'   => 'Janeiro',   'February'  => 'Fevereiro' ,  'March'     => 'Mar&ccedil;o',
879      'Jan'       => 'Jan',       'Feb'       => 'Fev',         'Mar'       => 'Mar',
880      'April'     => 'Abril',     'May'       => 'Maio',        'June'      => 'Junho',
881      'Apr'       => 'Abr',       'May'       => 'Mai',         'Jun'       => 'Jun',
882      'July'      => 'Julho',     'August'    => 'Agosto',      'September' => 'Setembro',
883      'Jul'       => 'Jul',       'Aug'       => 'Ago',         'Sep'       => 'Set',
884      'October'   => 'Outubro',   'November'  => 'Novembro',    'December'  => 'Dezembro',
885      'Oct'       => 'Out',       'Nov'       => 'Nov',         'Dec'       => 'Dez'
886    );
887
888  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
889  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
890    {
891	if($foo[3]=~(/(.*)at(.*)/))
892      {
893        @quux=split(/at/,$foo[3]);
894        $foo[3]=$quux[0]." &agrave;s ".$quux[1];
895      };
896      return "$wday{$foo[0]}, $foo[1] de $month{$foo[2]} de $foo[3]";
897    };
898
899#
900# handle two different time/date formats:
901# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
902# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
903#
904
905# handle nontranslated strings which ought to be translated
906# print STDERR "$_\n" or print DEBUG "not translated $_";
907# but then again we might not want/need to translate all strings
908
909  return $string;
910
911};
912
913
914# Bulgarian
915
916sub bulgarian
917{
918  my $string = shift;
919return "" unless defined $string;
920  my(%translations,%month,%wday);
921
922  my($i,$j);
923  my(@dollar,@quux,@foo);
924
925
926  # regexp => replacement string NOTE does not use autovars $1,$2...
927  # charset=iso-2022-jp
928
929  %translations =
930  (
931     'iso-8859-1'                             => 'windows-1251',
932     'Maximal 5 Minute Incoming Traffic'      => '���������� ������ ������ �� 5 ������',
933     'Maximal 5 Minute Outgoing Traffic'      => '���������� ������� ������ �� 5 ������',
934     'the device'                             => '������������',
935     'The statistics were last updated(.*)'   => '��������������� ����� �� �������� ��: $1',
936     ' Average\)'                             => ' ������)',
937     'Average'                                => '������',
938     'Max'                                    => '����.',
939     'Current'                                => '������',
940     'version'                                => '������',
941     '`Daily\' Graph \((.*) Minute'           => '������ ������� (���� $1 ������',
942     '`Weekly\' Graph \(30 Minute'            => '�������� ������� (���� 30 ������' ,
943     '`Monthly\' Graph \(2 Hour'              => '������� ������� (���� 2 ����',
944     '`Yearly\' Graph \(1 Day'                => '������� ������� (���� 1 ���',
945     'Incoming Traffic in (\S+) per Second'   => '������ ������ � $1 �� �������',
946     'Outgoing Traffic in (\S+) per Second'   => '������� ������ � $1 �� �������',
947     'at which time (.*) had been up for(.*)' => '� ����� ����� $1 ������ �� $2',
948     #'([kMG]?)([bB])/s'                      => '$1$1/���',
949     #'([kMG]?)([bB])/min'                    => '$1$2/���',
950     '([kMG]?)([bB])/h'                       => '$1$2/�',
951     'Bits'                                  => '����',
952     'Bytes'                                 => '�����',
953     'In'                                     => '��.',
954     'Out'                                    => '���.',
955     'Percentage'                             => '�������',
956     'Ported to OpenVMS Alpha by'             => '���� �� OpenVMS Alpha ��',
957     'Ported to WindowsNT by'                 => '���� �� WindowsNT ��',
958     'and'                                    => '�',
959     '^GREEN'                                  => '�����',
960     'BLUE'                                   => '���',
961     'DARK GREEN'                             => '����������',
962     'MAGENTA'                                => '���������',
963     'AMBER'                                  => '��������'
964  );
965
966# maybe expansions with replacement of whitespace would be more appropriate
967
968foreach $i (keys %translations)
969{
970  my $trans = $translations{$i};
971  $trans =~ s/\|/\|/;
972  return $string if eval " \$string =~ s|\${i}|${trans}| ";
973};
974
975%wday =
976    (
977      'Sunday'    => ' ������',		'Sun' => '��',
978      'Monday'    => ' ����������',	'Mon' => '��',
979      'Tuesday'   => ' �������',	'Tue' => '��',
980      'Wednesday' => ' �����',		'Wed' => '��',
981      'Thursday'  => ' ���������',	'Thu' => '��',
982      'Friday'    => ' �����',		'Fri' => '��',
983      'Saturday'  => ' ������',		'Sat' => '��'
984    );
985
986%month =
987    (
988      'January'   => '������',   'February'  => '��������' ,    'March'     => '����',
989      'Jan'       => '���',       'Feb'       => '���',         'Mar'       => '���',
990      'April'     => '�����',     'May'       => '���',         'June'      => '���',
991      'Apr'       => '���',       'May'       => '���',         'Jun'       => '���',
992      'July'      => '���',   'August'    => '������',        'September' => '���������',
993      'Jul'       => '���',       'Aug'       => '���',         'Sep'       => '���',
994      'October'   => '��������',   'November'  => '�������',    'December'  => '��������',
995      'Oct'       => '���',       'Nov'       => '���',         'Dec'       => '���'
996    );
997
998  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
999  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1000    {
1001	if($foo[3]=~(/(.*)at(.*)/))
1002      {
1003        @quux=split(/at/,$foo[3]);
1004        $foo[3]=$quux[0]."�. � ".$quux[1];
1005      };
1006      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
1007    };
1008
1009#
1010# handle two different time/date formats:
1011# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1012# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1013#
1014
1015# handle nontranslated strings which ought to be translated
1016# print STDERR "$_\n" or print DEBUG "not translated $_";
1017# but then again we might not want/need to translate all strings
1018
1019  return $string;
1020
1021};
1022# catalan
1023
1024sub catalan
1025{
1026  my $string = shift;
1027return "" unless defined $string;
1028  my(%translations,%month,%wday);
1029
1030  my($i,$j);
1031  my(@dollar,@quux,@foo);
1032
1033
1034  # regexp => replacement string NOTE does not use autovars $1,$2...
1035
1036  %translations =
1037  (
1038     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
1039     'Maximal 5 Minute Incoming Traffic'      => 'Tr&agrave;fic entrant m&agrave;xim en 5 minuts',
1040     'Maximal 5 Minute Outgoing Traffic'      => 'Tr&agrave;fic sortint m&agrave;xim en 5 minuts',
1041     'the device'                             => 'el dispositiu',
1042     'The statistics were last updated(.*)'   => 'Estad&iacute;stiques actualitzades el $1',
1043     ' Average\)'                             => ' Promig)',
1044     'Average'                                => 'Promig',
1045     'Max'                                    => 'M&agrave;xim',
1046     'Current'                                => 'Actual',
1047     'version'                                => 'versi&oacute',
1048     '`Daily\' Graph \((.*) Minute'           => 'Gr&agrave;fic diari ($1 minuts :',
1049     '`Weekly\' Graph \(30 Minute'            => 'Gr&agrave;fic setmanal (30 minuts :' ,
1050     '`Monthly\' Graph \(2 Hour'              => 'Gr&agrave;fic mensual (2 hores :',
1051     '`Yearly\' Graph \(1 Day'                => 'Gr&agrave;fic anual (1 dia :',
1052     'Incoming Traffic in (\S+) per Second'   => 'Tr&agrave;fic entrant en $1 per segon',
1053     'Outgoing Traffic in (\S+) per Second'   => 'Tr&agrave;fic sortint en $1 per segon',
1054     'at which time (.*) had been up for(.*)' => '$1 ha estat funcionant durant $2',
1055     # '([kMG]?)([bB])/s'                      => '\$1\$2/s',
1056     # '([kMG]?)([bB])/min'                    => '\$1\$2/min',
1057     # '([kMG]?)([bB])/h'                       => '$1$2/t',
1058     # 'Bits'                                  => 'Bits',
1059     # 'Bytes'                                 => 'Bytes'
1060     'In'                                     => 'Entrant',
1061     'Out'                                    => 'Sortint',
1062     'Percentage'                             => 'Percentatge',
1063     'Ported to OpenVMS Alpha by'             => 'Portat a OpenVMS Alpha per',
1064     'Ported to WindowsNT by'                 => 'Portat a WindowsNT per',
1065     'and'                                    => 'i',
1066     '^GREEN'                                  => 'VERD',
1067     'BLUE'                                   => 'BLAU',
1068     'DARK GREEN'                             => 'VERD FOSC',
1069     'MAGENTA'                                => 'MAGENTA',
1070     'AMBER'                                  => 'AMBAR'
1071  );
1072
1073# maybe expansions with replacement of whitespace would be more appropriate
1074
1075foreach $i (keys %translations)
1076{
1077  my $trans = $translations{$i};
1078  $trans =~ s/\|/\|/;
1079  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1080};
1081
1082%wday =
1083    (
1084      'Sunday'    => 'Diumenge',	'Sun' => 'Dg',
1085      'Monday'    => 'Dilluns',		'Mon' => 'Dl',
1086      'Tuesday'   => 'Dimarts',		'Tue' => 'Dm',
1087      'Wednesday' => 'Dimecres',	'Wed' => 'Dc',
1088      'Thursday'  => 'Dijous',		'Thu' => 'Dj',
1089      'Friday'    => 'Divendres',	'Fri' => 'Dv',
1090      'Saturday'  => 'Dissabte',	'Sat' => 'Ds'
1091    );
1092
1093%month =
1094    (
1095      'January'   => 'Gener',     'February' => 'Febrer' ,    'March'     => 'Mar�',
1096      'Jan'       => 'Gen',       'Feb'      => 'Feb',        'Mar'       => 'Mar',
1097      'April'     => 'Abril',     'May'      => 'Maig',       'June'      => 'Juny',
1098      'Apr'       => 'Abr',       'May'      => 'Mai',        'Jun'       => 'Jun',
1099      'July'      => 'Juliol',    'August'   => 'Agost',      'September' => 'Setembre',
1100      'Jul'       => 'Jul',       'Aug'      => 'Ago',        'Sep'       => 'Set',
1101      'October'   => 'Octubre',   'November' => 'Novembre',   'December'  => 'Desembre',
1102      'Oct'       => 'Oct',       'Nov'      => 'Nov',        'Dec'       => 'Des'
1103    );
1104
1105  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1106  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1107    {
1108	if($foo[3]=~(/(.*)at(.*)/))
1109      {
1110        @quux=split(/at/,$foo[3]);
1111        $foo[3]=$quux[0]." a les ".$quux[1];
1112      };
1113      return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]";
1114    };
1115   return $string;
1116
1117};
1118
1119# Simplified Chinese
1120
1121sub chinese
1122{
1123  my $string = shift;
1124return "" unless defined $string;
1125  my(%translations,%month,%wday);
1126
1127  my($i,$j);
1128  my(@dollar,@quux,@foo);
1129
1130
1131  # regexp => replacement string NOTE does not use autovars $1,$2...
1132
1133  %translations =
1134  (
1135     'iso-8859-1'                             => 'gb2312',
1136     'Maximal 5 Minute Incoming Traffic'      => '5�������������',
1137     'Maximal 5 Minute Outgoing Traffic'      => '5�������������',
1138     'the device'                             => '�豸',
1139     'The statistics were last updated(.*)'   => '���ͳ�Ƹ���ʱ�䣺$1',
1140     ' Average\)'                             => ' ƽ��)',
1141     'Average'                                => 'ƽ��',
1142     'Max'                                    => '���',
1143     'Current'                                => '��ǰ',
1144     'version'                                => '�汾',
1145     '`Daily\' Graph \((.*) Minute'           => 'ÿ�� ͼ�� ($1 ����',
1146     '`Weekly\' Graph \(30 Minute'            => 'ÿ�� ͼ�� (30 ����' ,
1147     '`Monthly\' Graph \(2 Hour'              => 'ÿ�� ͼ�� (2 Сʱ',
1148     '`Yearly\' Graph \(1 Day'                => 'ÿ�� ͼ�� (1 ��',
1149     'Incoming Traffic in (\S+) per Second'   => 'ÿ�������� (��λ $1 )',
1150     'Outgoing Traffic in (\S+) per Second'   => 'ÿ�������� (��λ $1 )',
1151     'at which time (.*) had been up for(.*)' => ' $1 �������ˣ� $2 ',
1152     '(.+)/s$'                                => '$1/��',
1153     '(.+)/min$'                              => '$1/��',
1154     '(.+)/h$'                                => '$1/ʱ',
1155     # 'Bits'                                 => 'Bits',
1156     # 'Bytes'                                => 'Bytes'
1157     'In'                                     => '���룺',
1158     'Out'                                    => '������',
1159     'Percentage'                             => '�ٷֱȣ�',
1160     'Ported to OpenVMS Alpha by'             => '��ֲ�� OpenVMS ����',
1161     'Ported to WindowsNT by'                 => '��ֲ�� WindowsNT ����',
1162     'and'                                    => '��',
1163     '^GREEN'                                 => '��ɫ',
1164     'BLUE'                                   => '��ɫ',
1165     'DARK GREEN'                             => 'ī��',
1166     'MAGENTA'                                => '��ɫ',
1167     'AMBER'                                  => '����ɫ'
1168  );
1169
1170# maybe expansions with replacement of whitespace would be more appropriate
1171
1172foreach $i (keys %translations)
1173{
1174  my $trans = $translations{$i};
1175  $trans =~ s/\|/\|/;
1176  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1177};
1178
1179%wday =
1180    (
1181      'Sunday'    => '������',    'Sun' => '��',
1182      'Monday'    => '����һ',    'Mon' => 'һ',
1183      'Tuesday'   => '���ڶ�',    'Tue' => '��',
1184      'Wednesday' => '������',    'Wed' => '��',
1185      'Thursday'  => '������',    'Thu' => '��',
1186      'Friday'    => '������',    'Fri' => '��',
1187      'Saturday'  => '������',    'Sat' => '��'
1188
1189    );
1190
1191%month =
1192    (
1193      'January'   => ' һ ��',    'February'  => ' �� ��',      'March'     => ' �� ��',
1194      'April'     => ' �� ��',    'May'       => ' �� ��',      'June'      => ' �� ��',
1195      'July'      => ' �� ��',    'August'    => ' �� ��',      'September' => ' �� ��',
1196      'October'   => ' ʮ ��',    'November'  => 'ʮһ��',      'December'  => 'ʮ����',
1197      'Jan'       => '����',      'Feb'       => '����',        'Mar'       => '����',
1198      'Apr'       => '����',      'May'       => '����',        'Jun'       => '����',
1199      'Jul'       => '����',      'Aug'       => '����',        'Sep'       => '����',
1200      'Oct'       => '10��',      'Nov'       => '11��',        'Dec'       => '12��'
1201
1202	);
1203
1204
1205  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1206  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1207    {
1208	  if($foo[3]=~(/(.*)at(.*)/))
1209        {
1210          @quux=split(/at/,$foo[3]);
1211	      $foo[3]=$quux[0];
1212          $foo[4]=$quux[1];
1213        };
1214      return "$foo[3]�� $month{$foo[2]} $foo[1] �� ��$wday{$foo[0]} ��$foo[4]";
1215    };
1216
1217#
1218# handle two different time/date formats:
1219# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1220# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1221#
1222
1223# handle nontranslated strings which ought to be translated
1224# print STDERR "$_\n" or print DEBUG "not translated $_";
1225# but then again we might not want/need to translate all strings
1226
1227  return $string;
1228
1229};
1230# cn s-Chinese
1231
1232sub cn
1233{
1234  my $string = shift;
1235return "" unless defined $string;
1236  my(%translations,%month,%wday);
1237
1238  my($i,$j);
1239  my(@dollar,@quux,@foo);
1240
1241
1242  # regexp => replacement string NOTE does not use autovars $1,$2...
1243
1244  %translations =
1245  (
1246     'charset=iso-8859-1'                     => 'charset=gb2312',
1247     'Maximal 5 Minute Incoming Traffic'      => '5�������������',
1248     'Maximal 5 Minute Outgoing Traffic'      => '5�������������',
1249     'the device'                             => '�豸',
1250     'The statistics were last updated(.*)'   => 'ͳ��������ʱ�䣺$1',
1251     ' Average\)</B><BR>'                     => ' ƽ��)</B><BR>',
1252     '<TD ALIGN=right><SMALL>Average(.*)'     => '<TD ALIGN=right><SMALL>ƽ��$1',
1253     '<TD ALIGN=right><SMALL>Max(.*)'         => '<TD ALIGN=right><SMALL>���$1',
1254     '<TD ALIGN=right><SMALL>Current(.*)'     => '<TD ALIGN=right><SMALL>��ǰ$1',
1255     'version'                                => '�汾',
1256     '<B>`Daily\' Graph \((.*) Minute'        => '<B>"ÿ��" ͼ�� ($1 ����',
1257     '<B>`Weekly\' Graph \(30 Minute'         => '<B>"ÿ��" ͼ�� (30 ����' ,
1258     '<B>`Monthly\' Graph \(2 Hour'           => '<B>"ÿ��" ͼ�� (2 Сʱ',
1259     '<B>`Yearly\' Graph \(1 Day'             => '<B>"ÿ��" ͼ�� (1 ��',
1260     'Incoming Traffic in (\S+) per Second'   => 'ÿ������ $1 ��',
1261     'Outgoing Traffic in (\S+) per Second'   => 'ÿ������ $1 ��',
1262     'at which time (.*) had been up for(.*)' => '��ʱ $1 �������ˣ� $2 ',
1263     '(.+)/s$'                                => '$1/��',
1264     '(.+)/min$'                              => '$1/��',
1265     '(.+)/h$'                                => '$1/ʱ',
1266     # 'Bits'                                 => 'Bits',
1267     # 'Bytes'                                => 'Bytes'
1268     '&nbsp;In:</FONT>'                       => '&nbsp;���룺</FONT>',
1269     '&nbsp;Out:</FONT>'                      => '&nbsp;������</FONT>',
1270     '&nbsp;Percentage</FONT>'                => '&nbsp;�ٷֱȣ�</FONT>',
1271     'Ported to OpenVMS Alpha by'             => '��ֲ�� OpenVMS ��',
1272     'Ported to WindowsNT by'                 => '��ֲ�� WindowsNT ��',
1273     'and'                                    => '��',
1274     '^GREEN'                                 => '��',
1275     'BLUE'                                   => '��',
1276     'DARK GREEN'                             => 'ī��',
1277     'MAGENTA'                                => '��',
1278     'AMBER'                                  => '����ɫ'
1279  );
1280
1281# maybe expansions with replacement of whitespace would be more appropriate
1282
1283foreach $i (keys %translations)
1284{
1285  my $trans = $translations{$i};
1286  $trans =~ s/\|/\|/;
1287  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1288};
1289
1290%wday =
1291    (
1292      'Sunday'    => '������',    'Sun' => '��',
1293      'Monday'    => '����һ',    'Mon' => 'һ',
1294      'Tuesday'   => '���ڶ�',    'Tue' => '��',
1295      'Wednesday' => '������',    'Wed' => '��',
1296      'Thursday'  => '������',    'Thu' => '��',
1297      'Friday'    => '������',    'Fri' => '��',
1298      'Saturday'  => '������',    'Sat' => '��'
1299
1300    );
1301
1302%month =
1303    (
1304      'January'   => ' һ ��',    'February'  => ' �� ��',      'March'     => ' �� ��',
1305      'April'     => ' �� ��',    'May'       => ' �� ��',      'June'      => ' �� ��',
1306      'July'      => ' �� ��',    'August'    => ' �� ��',      'September' => ' �� ��',
1307      'October'   => ' ʮ ��',    'November'  => 'ʮһ��',      'December'  => 'ʮ����',
1308      'Jan'       => '����',      'Feb'       => '����',        'Mar'       => '����',
1309      'Apr'       => '����',      'May'       => '����',        'Jun'       => '����',
1310      'Jul'       => '����',      'Aug'       => '����',        'Sep'       => '����',
1311      'Oct'       => '������',      'Nov'       => '������',        'Dec'       => '������'
1312
1313	);
1314
1315
1316  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1317  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1318    {
1319	  if($foo[3]=~(/(.*)at(.*)/))
1320        {
1321          @quux=split(/at/,$foo[3]);
1322	      $foo[3]=$quux[0];
1323          $foo[4]=$quux[1];
1324        };
1325      return "$foo[3]�� $month{$foo[2]} $foo[1] �� ��$wday{$foo[0]} ��$foo[4]";
1326    };
1327
1328#
1329# handle two different time/date formats:
1330# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1331# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1332#
1333
1334# handle nontranslated strings which ought to be translated
1335# print STDERR "$_\n" or print DEBUG "not translated $_";
1336# but then again we might not want/need to translate all strings
1337
1338  return $string;
1339
1340};
1341
1342sub croatian
1343{
1344  my $string = shift;
1345return "" unless defined $string;
1346  my(%translations,%month,%wday);
1347
1348  my($i,$j);
1349  my(@dollar,@quux,@foo);
1350
1351
1352  # regexp => replacement string NOTE does not use autovars $1,$2...
1353  # charset=iso-2022-jp
1354
1355
1356  %translations =
1357  (
1358     'iso-8859-1'                             => 'iso-8859-2',
1359     'Maximal 5 Minute Incoming Traffic'      => 'Maksimalni ulazni promet unutar 5 minuta',
1360     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimalni izlazni promet unutar 5 minuta',
1361     'the device'                             => 'ure�aj',
1362     'The statistics were last updated(.*)'   => 'Statistike su zadnji puta izmijenjene $1',
1363     ' Average\)'                             => ' prosje�na vrijednost)',
1364     'Average'                                => 'Prosje�no',
1365     'Max'                                    => 'Maksimalno',
1366     'Current'                                => 'Trenutno',
1367     'version'                                => 'verzija',
1368     '`Daily\' Graph \((.*) Minute'           => 'Dnevne statistike (svakih $1 minuta',
1369     '`Weekly\' Graph \(30 Minute'            => 'Tjedne statistike (svakih 30 minuta' ,
1370     '`Monthly\' Graph \(2 Hour'              => 'Mjese�ne statistike (svakih 2 sata',
1371     '`Yearly\' Graph \(1 Day'                => 'Godi�nje statistike (svaki 1 dan',
1372     'Incoming Traffic in (\S+) per Second'   => 'Ulazni promet - $1 po sekundi',
1373     'Outgoing Traffic in (\S+) per Second'   => 'Izlazni promet - $1 po sekundi',
1374     'at which time (.*) had been up for(.*)' => 'gdje $1 je bio aktivan $2',
1375     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
1376     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
1377     '([kMG]?)([bB])/h'                       => '$1$2/g',
1378     'Bits'                                => 'Bitova',
1379     'Bytes'                              => 'Bajtova',
1380     'In'                                     => 'Unutra',
1381     'Out'                                    => 'Van',
1382     'Percentage'                             => 'Postotak',
1383     'Ported to OpenVMS Alpha by'             => 'Port na OpenVMS Alpha od',
1384     'Ported to WindowsNT by'                 => 'Post od WindowsNT od',
1385     'and'                                    => 'i',
1386     '^GREEN'                                  => 'ZELENA',
1387     'BLUE'                                   => 'PLAVA',
1388     'DARK GREEN'                             => 'TAMNO ZELENA',
1389     'MAGENTA'                                => 'LJUBI�ASTA',
1390     'AMBER'                                  => 'AMBER'
1391  );
1392
1393# maybe expansions with replacement of whitespace would be more appropriate
1394
1395foreach $i (keys %translations)
1396{
1397  my $trans = $translations{$i};
1398  $trans =~ s/\|/\|/;
1399  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1400};
1401
1402%wday =
1403    (
1404      'Sunday'    => 'Nedjelja',     'Sun' => 'Ned',
1405      'Monday'    => 'Ponedjeljak',  'Mon' => 'Pon',
1406      'Tuesday'   => 'Utorak',        'Tue' => 'Uto',
1407      'Wednesday' => 'Srijeda',         'Wed' => 'Sri',
1408      'Thursday'  => '�etvrtak',      'Thu' => '�et',
1409      'Friday'    => 'Petak',        'Fri' => 'Pet',
1410      'Saturday'  => 'Subota',        'Sat' => 'Sub'
1411
1412    );
1413
1414%month =
1415    (
1416      'January'   => 'Sije�anj',     'February'  => 'Velja�a',      'March'     => 'O�ujak',
1417      'Jan'       => 'Sij',          'Feb'       => 'Vel',         'Mar'       => 'O�u',
1418      'April'     => 'Travanj',     'May'       => 'Svibanj',        'June'      => 'Lipanj',
1419      'Apr'       => 'Tra',          'May'       => 'Svi',         'Jun'       => 'Lip',
1420      'July'      => 'Srpanj',       'August'    => 'Kolovoz',    'September' => 'Rujan',
1421      'Jul'       => 'Srp',          'Aug'       => 'Kol',         'Sep'       => 'Ruj',
1422      'October'   => 'Listopad', 'November'  => 'Studeni',   'December'  => 'Prosinac',
1423      'Oct'       => 'Lis',          'Nov'       => 'Stu',         'Dec'       => 'Pro'
1424    );
1425
1426  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1427  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1428    {
1429	if($foo[3]=~(/(.*)at(.*)/))
1430      {
1431        @quux=split(/at/,$foo[3]);
1432        $foo[3]=$quux[0]." godine"." u".$quux[1];
1433      };
1434      return "$wday{$foo[0]} dana $foo[1]. $month{$foo[2]} $foo[3]";
1435    };
1436
1437#
1438# handle two different time/date formats:
1439# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1440# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1441#
1442
1443# handle nontranslated strings which ought to be translated
1444# print STDERR "$_\n" or print DEBUG "not translated $_";
1445# but then again we might not want/need to translate all strings
1446
1447  return $string;
1448
1449};
1450# Czech
1451
1452sub czech
1453{
1454  my $string = shift;
1455return "" unless defined $string;
1456  my(%translations,%month,%wday);
1457
1458  my($i,$j);
1459  my(@dollar,@quux,@foo);
1460
1461
1462  # regexp => replacement string NOTE does not use autovars $1,$2...
1463  # charset=iso-2022-jp
1464
1465  %translations =
1466  (
1467     'iso-8859-1'                             => 'windows-1250',
1468     'Maximal 5 Minute Incoming Traffic'      => 'Maxim�ln� 5 minutov� p��choz� tok',
1469     'Maximal 5 Minute Outgoing Traffic'      => 'Maxim�ln� 5 minutov� odchoz� tok',
1470     'the device'                             => 'za��zen�',
1471     'The statistics were last updated(.*)'   => 'Posledn� aktualizace statistiky:$1',
1472     ' Average\)'                             => ' pr�m�r)',
1473     'Average'                                => 'Pr�m.',
1474     'Max'                                    => 'Max.',
1475     'Current'                                => 'Akt.',
1476     'version'                                => 'verze',
1477     '`Daily\' Graph \((.*) Minute'           => 'Denn� graf ($1 minutov�',
1478     '`Weekly\' Graph \(30 Minute'            => 'T�denn� graf (30 minutov�' ,
1479     '`Monthly\' Graph \(2 Hour'              => 'M�s��n� graf (2 hodinov�',
1480     '`Yearly\' Graph \(1 Day'                => 'Ro�n� graf (1 denn�',
1481     'Incoming Traffic in (\S+) per Second'   => 'P��choz� tok v $1 za sec.',
1482     'Outgoing Traffic in (\S+) per Second'   => 'Odchoz� tok v $1 za sec.',
1483     'at which time (.*) had been up for(.*)' => 'od posledn�ho restartu $1 ub�hlo: $2',
1484     #'([kMG]?)([bB])/s'                       => '\$1\$2/s',
1485     #'([kMG]?)([bB])/min'     	      	      => '\$1\$2/min',
1486     #'([kMG]?)([bB])/h'                       => '$1$2/h',
1487     'Bits'                                   => 'bitech',
1488     'Bytes'                                  => 'bajtech',
1489     #'&nbsp;In:</FONT>'                       => '&nbsp;In:</FONT>',
1490     #'&nbsp;Out:</FONT>'                      => '&nbsp;Out:</FONT>',
1491     'Percentage'                             => 'Proc.',
1492     'Ported to OpenVMS Alpha by'             => 'Na OpenVMS portoval',
1493     'Ported to WindowsNT by'                 => 'Na WindowsNT portoval',
1494     'and'                                    => 'a',
1495     '^GREEN'                                  => 'Zelen�',
1496     'BLUE'                                   => 'Modr�',
1497     'DARK GREEN'                             => 'Tmav� zelen�',
1498     'MAGENTA'                                => 'Fialov�',
1499     'AMBER'                                  => '�lut�'
1500  );
1501
1502# maybe expansions with replacement of whitespace would be more appropriate
1503
1504foreach $i (keys %translations)
1505{
1506  my $trans = $translations{$i};
1507  $trans =~ s/\|/\|/;
1508  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1509};
1510
1511%wday =
1512    (
1513      'Sunday'    => 'Ned�le',		'Sun' => 'Ne',
1514      'Monday'    => 'Pond�li',		'Mon' => 'Po',
1515      'Tuesday'   => '�ter�',		'Tue' => '�t',
1516      'Wednesday' => 'St�eda',		'Wed' => 'St',
1517      'Thursday'  => '�tvrtek',		'Thu' => '�t',
1518      'Friday'    => 'P�tek',		'Fri' => 'P�',
1519      'Saturday'  => 'Sobota',		'Sat' => 'So'
1520    );
1521
1522%month =
1523    (
1524 'January' => 'Leden',   'February' => '�nor',      'March'     => 'B�ezen',
1525 'Jan'     => 'Leden',   'Feb'      => '�nor',      'Mar'       => 'B�ezen',
1526 'April'   => 'Duben',   'May'      => 'Kv�ten',    'June'      => '�erven',
1527 'Apr'     => 'Duben',   'May'      => 'Kv�ten',    'Jun'       => '�erven',
1528 'July'    => '�ervenec','August'   => 'Srpen',     'September' => 'Z���',
1529 'Jul'     => '�ervenec','Aug'      => 'Srpen',     'Sep'       => 'Z���',
1530 'October' => '��jen',   'November' => 'Listopad',  'December'  => 'Prosinec',
1531 'Oct'     => '��jen',   'Nov'      => 'Listopad',  'Dec'       => 'Prosinec'
1532    );
1533
1534  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1535  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1536    {
1537	if($foo[3]=~(/(.*)at(.*)/))
1538      {
1539        @quux=split(/at/,$foo[3]);
1540        $foo[3]=$quux[0].",".$quux[1]." hod.";
1541      };
1542      return "$wday{$foo[0]} $foo[1]. $month{$foo[2]} $foo[3]";
1543    };
1544
1545#
1546# handle two different time/date formats:
1547# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1548# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1549#
1550
1551# handle nontranslated strings which ought to be translated
1552# print STDERR "$_\n" or print DEBUG "not translated $_";
1553# but then again we might not want/need to translate all strings
1554
1555  return $string;
1556
1557}
1558#
1559# Danish
1560
1561sub danish
1562{
1563  my $string = shift;
1564return "" unless defined $string;
1565  my(%translations,%month,%wday);
1566
1567  my($i,$j);
1568  my(@dollar,@quux,@foo);
1569
1570
1571  # regexp => replacement string NOTE does not use autovars $1,$2...
1572  # charset=iso-2022-jp
1573
1574  %translations =
1575  (
1576     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
1577     'Maximal 5 Minute Incoming Traffic'      => 'Maksimal indg&aring;ende trafik i 5 minutter',
1578     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimal udg&aring;ende trafik i 5 minutter',
1579     'the device'                             => 'enheden',
1580     'The statistics were last updated(.*)'   => 'Statistikken blev sidst opdateret$1',
1581     ' Average\)'                             => ' Middel)',
1582     'Average'                                => 'Middel',
1583     'Max'                                    => 'Max',
1584     'Current'                                => 'Nu',
1585     'version'                                => 'version',
1586     '`Daily\' Graph \((.*) Minute'           => '`Daglig\' graf ($1 minuts',
1587     '`Weekly\' Graph \(30 Minute'            => '`Ugentlig\' graf (30 minuts' ,
1588     '`Monthly\' Graph \(2 Hour'              => '`M&aring;nedlig\' graf (2 times',
1589     '`Yearly\' Graph \(1 Day'                => '`&Aring;rlig\' graf (1 dags',
1590     'Incoming Traffic in (\S+) per Second'   => 'Indg&aring;ende trafik i $1 per sekund',
1591     'Outgoing Traffic in (\S+) per Second'   => 'Udg&aring;ende trafik i $1 per sekund',
1592     'at which time (.*) had been up for(.*)' => 'hvor $1 havde v&aelig;ret oppe i$2',
1593     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
1594     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
1595     '([kMG]?)([bB])/h'                       => '$1$2/t',
1596     # 'Bits'                                => 'Bits',
1597     # 'Bytes'                              => 'Bytes'
1598     'In'                                     => 'Ind',
1599     'Out'                                    => 'Ud',
1600     'Percentage'                             => 'Procent',
1601     'Ported to OpenVMS Alpha by'             => 'Port til OpenVMS af',
1602     'Ported to WindowsNT by'                 => 'Port til WindowsNT af',
1603     'and'                                    => 'og',
1604     '^GREEN'                                  => 'GR&Oslash;N',
1605     'BLUE'                                   => 'BL&Aring;',
1606     'DARK GREEN'                             => 'M&Oslash;RKEGR&Oslash;N',
1607     'MAGENTA'                                => 'LYSLILLA',
1608     'AMBER'                                  => 'RAV'
1609  );
1610
1611# maybe expansions with replacement of whitespace would be more appropriate
1612
1613foreach $i (keys %translations)
1614{
1615  my $trans = $translations{$i};
1616  $trans =~ s/\|/\|/;
1617  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1618};
1619
1620%wday =
1621    (
1622      'Sunday'    => 'S&oslash;ndag',    'Sun' => 'S&oslash;n',
1623      'Monday'    => 'Mandag',           'Mon' => 'Man',
1624      'Tuesday'   => 'Tirsdag',          'Tue' => 'Tir',
1625      'Wednesday' => 'Onsdag',           'Wed' => 'Ons',
1626      'Thursday'  => 'Torsdag',          'Thu' => 'Tor',
1627      'Friday'    => 'Fredag',           'Fri' => 'Fre',
1628      'Saturday'  => 'L&oslash;rdag',    'Sat' => 'L&oslash;r'
1629
1630    );
1631
1632%month =
1633    (
1634      'January'   => 'Januar',    'February'  => 'Februar' ,    'March'     => 'Marts',
1635      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
1636      'April'     => 'April',     'May'       => 'Maj',         'June'      => 'Juni',
1637      'Apr'       => 'Apr',       'May'       => 'Maj',         'Jun'       => 'Jun',
1638      'July'      => 'Juli',      'August'    => 'August',      'September' => 'September',
1639      'Jul'       => 'Jul',       'Aug'       => 'Aug',         'Sep'       => 'Sep',
1640      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'December',
1641      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Dec'
1642    );
1643
1644  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1645  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1646    {
1647	if($foo[3]=~(/(.*)at(.*)/))
1648      {
1649        @quux=split(/at/,$foo[3]);
1650        $foo[3]=$quux[0]." kl.".$quux[1];
1651      };
1652      return "$wday{$foo[0]} den $foo[1]. $month{$foo[2]} $foo[3]";
1653    };
1654
1655#
1656# handle two different time/date formats:
1657# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1658# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1659#
1660
1661# handle nontranslated strings which ought to be translated
1662# print STDERR "$_\n" or print DEBUG "not translated $_";
1663# but then again we might not want/need to translate all strings
1664
1665  return $string;
1666
1667  };
1668
1669# Dutch
1670
1671sub dutch
1672{
1673  my $string = shift;
1674return "" unless defined $string;
1675  my(%translations,%month,%wday);
1676
1677  my($i,$j);
1678  my(@dollar,@quux,@foo);
1679
1680
1681  # regexp => replacement string NOTE does not use autovars $1,$2...
1682
1683  %translations =
1684  (
1685     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
1686     'Maximal 5 Minute Incoming Traffic'      => 'Maximaal inkomend verkeer per 5 minuten',
1687     'Maximal 5 Minute Outgoing Traffic'      => 'Maximaal uitgaand verkeer per 5 minuten',
1688     'the device'                             => 'het apparaat',
1689     'The statistics were last updated(.*)'   => 'Statistieken voor het laatst bijgewerkt op$1',
1690     ' Average\)'                             => ' gemiddeld)',
1691     'Average'                                => 'Gemiddeld',
1692     'Max'                                    => 'Max',
1693     'Current'                                => 'Actueel',
1694     'version'                                => 'versie',
1695     '`Daily\' Graph \((.*) Minute'           => '`Dagelijkse\' grafiek ($1 minuten',
1696     '`Weekly\' Graph \(30 Minute'            => '`Wekelijkse\' grafiek (30 minuten' ,
1697     '`Monthly\' Graph \(2 Hour'              => '`Maandelijkse\' grafiek (2 uur',
1698     '`Yearly\' Graph \(1 Day'                => '`Jaarlijkse\' grafiek (1 dag',
1699     'Incoming Traffic in (\S+) per Second'   => 'Inkomend verkeer in $1 per seconde',
1700     'Outgoing Traffic in (\S+) per Second'   => 'Uitgaand verkeer in $1 per seconde',
1701     'at which time (.*) had been up for(.*)' => 'op het moment dat $1 reeds actief was voor$2',
1702     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
1703     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
1704     '([kMG]?)([bB])/h'                       => '$1$2/u',
1705     # 'Bits'                                => 'Bits',
1706     # 'Bytes'                              => 'Bytes'
1707     # '&nbsp;In:</FONT>'                      => '&nbsp;In:</FONT>',
1708     'Out'                                    => 'Uit',
1709     'Percentage'                             => 'Procent',
1710     'Ported to OpenVMS Alpha by'             => 'Ported naar OpenVMS door',
1711     'Ported to WindowsNT by'                 => 'Ported naar WindowsNT door',
1712     'and'                                    => 'en',
1713     'DARK GREEN'                             => 'DONKER GROEN',
1714     '^GREEN'                                  => 'GROEN',
1715     'BLUE'                                   => 'BLAUW',
1716     'MAGENTA'                                => 'LILA',
1717     'AMBER'                                  => 'AMBER'
1718  );
1719
1720# maybe expansions with replacement of whitespace would be more appropriate
1721
1722foreach $i (keys %translations)
1723{
1724  my $trans = $translations{$i};
1725  $trans =~ s/\|/\|/;
1726  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1727};
1728
1729%wday =
1730    (
1731      'Sunday'    => 'zondag',           'Sun' => 'zon',
1732      'Monday'    => 'maandag',          'Mon' => 'maa',
1733      'Tuesday'   => 'dinsdag',          'Tue' => 'din',
1734      'Wednesday' => 'woensdag',         'Wed' => 'woe',
1735      'Thursday'  => 'donderdag',        'Thu' => 'don',
1736      'Friday'    => 'vrijdag',          'Fri' => 'vri',
1737      'Saturday'  => 'zaterdag',         'Sat' => 'zat'
1738
1739    );
1740
1741%month =
1742    (
1743      'January'   => 'januari',   'February'  => 'februari',    'March'     => 'maart',
1744      'Jan'       => 'jan',       'Feb'       => 'feb',         'Mar'       => 'mrt',
1745      'April'     => 'april',     'May'       => 'mei',         'June'      => 'juni',
1746      'Apr'       => 'apr',       'May'       => 'mei',         'Jun'       => 'jun',
1747      'July'      => 'juli',      'August'    => 'augustus',    'September' => 'september',
1748      'Jul'       => 'jul',       'Aug'       => 'aug',         'Sep'       => 'sep',
1749      'October'   => 'oktober',   'November'  => 'november',    'December'  => 'december',
1750      'Oct'       => 'okt',       'Nov'       => 'nov',         'Dec'       => 'dec'
1751    );
1752
1753  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1754  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1755    {
1756        if($foo[3]=~(/(.*)at(.*)/))
1757      {
1758        @quux=split(/at/,$foo[3]);
1759        $foo[3]=$quux[0]." om".$quux[1];
1760      };
1761      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
1762    };
1763
1764#
1765# handle two different time/date formats:
1766# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1767# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1768#
1769
1770# handle nontranslated strings which ought to be translated
1771# print STDERR "$_\n" or print DEBUG "not translated $_";
1772# but then again we might not want/need to translate all strings
1773
1774  return $string;
1775
1776};
1777# Estonian
1778
1779sub estonian
1780{
1781  my $string = shift;
1782return "" unless defined $string;
1783  my(%translations,%month,%wday);
1784
1785  my($i,$j);
1786  my(@dollar,@quux,@foo);
1787
1788
1789  # regexp => replacement string NOTE does not use autovars $1,$2...
1790  # charset=iso-2022-jp
1791
1792  %translations =
1793  (
1794     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
1795     'Maximal 5 Minute Incoming Traffic'      => '5 minuti maksimaalne sisenev liiklus',
1796     'Maximal 5 Minute Outgoing Traffic'      => '5 minuti maksimaalne v&auml;ljuv liiklus',
1797     'the device'                             => 'seade',
1798     'The statistics were last updated(.*)'   => 'Statistikat uuendati viimati$1',
1799     ' Average\)'                             => ' keskmine)',
1800     'Average'                                => 'Keskmine',
1801     #'Max'                                    => 'Max',
1802     'Current'                                => 'Hetkel',
1803     'version'                                => 'versioon',
1804     '`Daily\' Graph \((.*) Minute'           => '`P&auml;evane\' graafik ($1 minuti',
1805     '`Weekly\' Graph \(30 Minute'            => '`N&auml;dala\' graafik (30 minuti' ,
1806     '`Monthly\' Graph \(2 Hour'              => '`Kuu \' graafik (2 tunni',
1807     '`Yearly\' Graph \(1 Day'                => '`Aasta\' graafik (1 p&auml;eva',
1808     'Incoming Traffic in (\S+) per Second'   => 'Sisenev liiklus $1 sekundi kohta',
1809     'Outgoing Traffic in (\S+) per Second'   => 'V&auml;ljuv liiklus $1 sekundi kohta',
1810     'at which time (.*) had been up for(.*)' => 'kui $1 on katkematult t&ouml;&ouml;tanud$2',
1811     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
1812     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
1813     '([kMG]?)([bB])/h'                       => '$1$2/t',
1814      'Bits'                                => 'bitti',
1815      'Bytes'                              => 'baiti',
1816     'In'                                     => 'sisse',
1817     'Out'                                    => 'v&auml;lja',
1818     'Percentage'                             => 'protsent',
1819     'Ported to OpenVMS Alpha by'             => 'portis OpenVMS-le:',
1820     'Ported to WindowsNT by'                 => 'portis WindowsNT-le:',
1821     'and'                                    => 'ja',
1822     '^GREEN'                                  => 'ROHELINE',
1823     'BLUE'                                   => 'SININE',
1824     'DARK GREEN'                             => 'TUMEROHELINE',
1825     'MAGENTA'                                => 'LILLA',
1826     'AMBER'                                  => 'HELEROHELINE'
1827  );
1828
1829# maybe expansions with replacement of whitespace would be more appropriate
1830
1831foreach $i (keys %translations)
1832{
1833  my $trans = $translations{$i};
1834  $trans =~ s/\|/\|/;
1835  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1836};
1837
1838%wday =
1839    (
1840      'Sunday'    => 'p&uuml;hap&auml;ev',    'Sun' => 'P',
1841      'Monday'    => 'esmasp&auml;ev',           'Mon' => 'E',
1842      'Tuesday'   => 'teisip&auml;ev',          'Tue' => 'T',
1843      'Wednesday' => 'kolmap&auml;ev',           'Wed' => 'K',
1844      'Thursday'  => 'neljap&auml;ev',          'Thu' => 'N',
1845      'Friday'    => 'reede',           'Fri' => 'R',
1846      'Saturday'  => 'laup&auml;ev',    'Sat' => 'L'
1847
1848    );
1849
1850%month =
1851    (
1852      'January'   => 'jaanuar',    'February'  => 'veebruar' ,    'March'     => 'm&auml;rts',
1853      'Jan'       => 'jaan',       'Feb'       => 'veebr',         'Mar'       => 'm&auml;rts',
1854      'April'     => 'aprill',     'May'       => 'mai',         'June'      => 'juuni',
1855      'Apr'       => 'aprill',       'May'       => 'mai',         'Jun'       => 'juuni',
1856      'July'      => 'juuli',      'August'    => 'august',      'September' => 'september',
1857      'Jul'       => 'juuli',       'Aug'       => 'aug',         'Sep'       => 'sept',
1858      'October'   => 'oktoober',   'November'  => 'november',    'December'  => 'detsember',
1859      'Oct'       => 'okt',       'Nov'       => 'nov',         'Dec'       => 'dets'
1860    );
1861
1862  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
1863  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1864    {
1865	if($foo[3]=~(/(.*)at(.*)/))
1866      {
1867        @quux=split(/at/,$foo[3]);
1868        $foo[3]=$quux[0]." kl.".$quux[1];
1869      };
1870      return "$wday{$foo[0]}, $foo[1]. $month{$foo[2]} $foo[3]";
1871    };
1872
1873#
1874# handle two different time/date formats:
1875# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1876# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1877#
1878
1879# handle nontranslated strings which ought to be translated
1880# print STDERR "$_\n" or print DEBUG "not translated $_";
1881# but then again we might not want/need to translate all strings
1882
1883  return $string;
1884
1885  };
1886
1887# eucjp
1888
1889sub eucjp
1890{
1891  my $string = shift;
1892  return "" unless defined $string;
1893  my(%translations,%month,%wday);
1894
1895  my($i,$j);
1896  my(@dollar,@quux,@foo);
1897
1898
1899  # regexp => replacement string NOTE does not use autovars $1,$2...
1900  # charset=iso-2022-jp
1901
1902  %translations =
1903  (
1904     '^iso-8859-1'                            => 'euc-jp',
1905     '^Maximal 5 Minute Incoming Traffic'     => '����5ʬ������',
1906     '^Maximal 5 Minute Outgoing Traffic'     => '����5ʬ������',
1907     '^the device'                            => '�ǥХ���',
1908     '^The statistics were last updated (.*)' => '�������� $1',
1909     '^Average\)'                             => 'ʿ��)',
1910     '^Average$'                              => 'ʿ��',
1911     '^Max$'                                  => '����',
1912     '^Current'                               => '�ǿ�',
1913     '^`Daily\' Graph \((.*) Minute'          => '�������($1ʬ��',
1914     '^`Weekly\' Graph \(30 Minute'           => '�������(30ʬ��',
1915     '^`Monthly\' Graph \(2 Hour'             => '����(2����',
1916     '^`Yearly\' Graph \(1 Day'               => 'ǯ�����(1��',
1917     '^Incoming Traffic in (\S+) per Second'  => '���äμ���$1��',
1918     '^Incoming Traffic in (\S+) per Minute'  => '��ʬ�μ���$1��',
1919     '^Incoming Traffic in (\S+) per Hour'    => '������$1��',
1920     '^Outgoing Traffic in (\S+) per Second'  => '�������$1��',
1921     '^Outgoing Traffic in (\S+) per Minute'  => '��ʬ������$1��',
1922     '^Outgoing Traffic in (\S+) per Hour'    => '���������$1��',
1923     '^at which time (.*) had been up for (.*)' => '$1�β�Ư���� $2',
1924     '^Average max 5 min values for `Daily\' Graph \((.*) Minute interval\):' => '������դǤκ���5ʬ�ͤ�ʿ��($1ʬ�ֳ�):',
1925     '^Average max 5 min values for `Weekly\' Graph \(30 Minute interval\):' => '������դǤκ���5ʬ�ͤ�ʿ��(30ʬ�ֳ�):',
1926     '^Average max 5 min values for `Monthly\' Graph \(2 Hour interval\):' => '���դǤκ���5ʬ�ͤ�ʿ��(2���ֳִ�):',
1927     '^Average max 5 min values for `Yearly\' Graph \(1 Day interval\):' => 'ǯ����դǤκ���5ʬ�ͤ�ʿ��(1���ֳ�):',
1928     #'^([kMG]?)([bB])/s'                      => '$1$2/��',
1929     #'^([kMG]?)([bB])/min'                    => '$1$2/ʬ',
1930     #'^([kMG]?)([bB])/h'                      => '$1$2/��',
1931     '^Bits$'                                 => '�ӥå�',
1932     '^Bytes$'                                => '����',
1933     '^In$'                                   => '����',
1934     '^Out$'                                  => '����',
1935     '^Percentage'                            => '��Ψ',
1936     '^Ported to OpenVMS Alpha by'            => 'OpenVMS Alpha�ؤΰܿ�',
1937     '^Ported to WindowsNT by'                => 'WindowsNT�ؤΰܿ�',
1938     #'^and'                                   => 'and',
1939     '^GREEN'                                 => '��',
1940     '^BLUE'                                  => '��',
1941     '^DARK GREEN'                            => '����',
1942     '^MAGENTA'                               => '�ޥ���',
1943     '^AMBER'                                 => '����'
1944  );
1945
1946# maybe expansions with replacement of whitespace would be more appropriate
1947
1948foreach $i (keys %translations)
1949{
1950  my $trans = $translations{$i};
1951  $trans =~ s/\|/\\|/;
1952  return $string if eval " \$string =~ s|\${i}|${trans}| ";
1953};
1954
1955%wday =
1956    (
1957      'Sunday'    => '(��)',
1958      'Monday'    => '(��)',
1959      'Tuesday'   => '(��)',
1960      'Wednesday' => '(��)',
1961      'Thursday'  => '(��)',
1962      'Friday'    => '(��)',
1963      'Saturday'  => '(��)',
1964    );
1965
1966%month =
1967    (
1968      'January'   => '1��',    'February' => '2��',
1969      'March'     => '3��',    'April'    => '4��',
1970      'May'       => '5��',    'June'     => '6��',
1971      'July'      => '7��',    'August'   => '8��',
1972      'September' => '9��',    'October'  => '10��',
1973      'November'  => '11��',   'December' => '12��',
1974    );
1975
1976  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)\s+(.*)/);
1977  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
1978    {
1979	if($foo[3]=~/at/)
1980      {
1981        @quux=split(/\s+at\s+/,$foo[3]);
1982      }
1983	else
1984      {
1985        @quux=split(/ /,$foo[3],2);
1986      };
1987      return "$quux[0]ǯ$month{$foo[2]}$foo[1]��$wday{$foo[0]} $quux[1]";
1988    };
1989
1990#
1991# handle two different time/date formats:
1992# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
1993# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
1994#
1995
1996# handle nontranslated strings which ought to be translated
1997# print STDERR "$_\n" or print DEBUG "not translated $_";
1998# but then again we might not want/need to translate all strings
1999
2000  return $string;
2001
2002};
2003# Finnish
2004
2005sub finnish
2006{
2007  my $string = shift;
2008return "" unless defined $string;
2009  my(%translations,%month,%wday);
2010
2011  my($i,$j);
2012  my(@dollar,@quux,@foo);
2013
2014
2015  # regexp => replacement string NOTE does not use autovars $1,$2...
2016  # charset=iso-2022-jp
2017
2018  %translations =
2019  (
2020     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
2021     'Maximal 5 Minute Incoming Traffic'      => 'Tulevan liikenteen maksimi 5 minuutin aikana',
2022     'Maximal 5 Minute Outgoing Traffic'      => 'L&auml;htev&auml;n liikenteen maksimi 5 minuutin aikana',
2023     'the device'                             => 'laite',
2024     'The statistics were last updated(.*)'   => 'Tiedot p&auml;ivitetty viimeksi $1',
2025     ' Average\)'                             => '',
2026     'Average'                                => 'Keskim&auml;&auml;rin',
2027     'Max'                                    => 'Maksimi',
2028     'Current'                                => 'T&auml;ll&auml; hetkell&auml;',
2029     'version'                                => 'versio',
2030     '`Daily\' Graph \((.*) Minute'           => 'P&auml;iv&auml;raportti (skaala $1 minuutti(a))',
2031     '`Weekly\' Graph \(30 Minute'            => 'Viikkoraportti (skaala 30 minuuttia)' ,
2032     '`Monthly\' Graph \(2 Hour'              => 'Kuukausiraportti (skaala 2 tuntia)',
2033     '`Yearly\' Graph \(1 Day'                => 'Vuosiraportti (skaala 1 vuorokausi)',
2034     'Incoming Traffic in (\S+) per Second'   => 'Tuleva liikenne $1 sekunnissa',
2035     'Outgoing Traffic in (\S+) per Second'   => 'L&auml;htev&auml; liikenne $1 sekunnissa',
2036     'Incoming Traffic in (\S+) per Minute'   => 'Tuleva liikenne $1 minuutissa',
2037     'Outgoing Traffic in (\S+) per Minute'   => 'L&auml;htev&auml; liikenne $1 minuutissa',
2038     'Incoming Traffic in (\S+) per Hour'     => 'Tuleva liikenne $1 tunnissa',
2039     'Outgoing Traffic in (\S+) per Hour'     => 'L&auml;htev&auml; liikenne $1 tunnissa',
2040     'at which time (.*) had been up for(.*)' => 'jolloin $1 on toiminut yht&auml;jaksoisesti $2',
2041     '(\S+) per minute'			      => '$1 minuutissa',
2042     '(\S+) per hour'			      => '$1 tunnissa',
2043     '(.+)/s$'                                => '$1/s',
2044     # '(.+)/min'                             => '$1/min',
2045     #'(.+)/h$'                               => '$1/h',
2046     #'([kMG]?)([bB])/s'                      => '$1$2/s',
2047     #'([kMG]?)([bB])/min'                    => '$1$2/min',
2048     #'([kMG]?)([bB])/h'                      => '$1$2/h',
2049     'Bits'                                   => 'bitti&auml;',
2050     'Bytes'                                  => 'tavua',
2051     'In'                                     => 'Tuleva',
2052     'Out'                                    => 'L&auml;htev&auml;',
2053     'Percentage'                             => 'Prosenttia',
2054     'Ported to OpenVMS Alpha by'             => 'OpenVMS -j&auml;rjestelm&auml;lle sovittanut',
2055     'Ported to WindowsNT by'                 => 'WindowsNT -j&auml;rjestelm&auml;lle sovittanut',
2056     'and'                                    => 'ja',
2057     '^GREEN'                                 => 'VIHRE&Auml;',
2058     'BLUE'                                   => 'SININEN',
2059     'DARK GREEN'                             => 'TUMMANVIHRE&Auml;',
2060     'MAGENTA'                                => 'PINKKI',
2061     'AMBER'                                  => 'PUNAINEN',
2062  );
2063
2064# maybe expansions with replacement of whitespace would be more appropriate
2065
2066foreach $i (keys %translations)
2067{
2068  my $trans = $translations{$i};
2069  $trans =~ s/\|/\|/;
2070  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2071};
2072
2073%wday =
2074    (
2075      'Sunday'    => 'Sunnuntai',   'Sun' => 'Su',
2076      'Monday'    => 'Maanantai',   'Mon' => 'Ma',
2077      'Tuesday'   => 'Tiistai',     'Tue' => 'Ti',
2078      'Wednesday' => 'Keskiviikko', 'Wed' => 'Ke',
2079      'Thursday'  => 'Torstai',     'Thu' => 'To',
2080      'Friday'    => 'Perjantai',   'Fri' => 'Pe',
2081      'Saturday'  => 'Lauantai',    'Sat' => 'La'
2082    );
2083
2084%month =
2085    (
2086      'January'   => 'Tammi',      'February'  => 'Helmi' , 'March'     => 'Maalis',
2087      'Jan'       => 'Tam',        'Feb'       => 'Hel',    'Mar'       => 'Maa',
2088      'April'     => 'Huhti',      'May'       => 'Touko',  'June'      => 'Kes&auml;',
2089      'Apr'       => 'Huh',        'May'       => 'Tou',    'Jun'       => 'Kes',
2090      'July'      => 'Hein&auml;', 'August'    => 'Elo',    'September' => 'Syys',
2091      'Jul'       => 'Hei',        'Aug'       => 'Elo',    'Sep'       => 'Syy',
2092      'October'   => 'Loka',       'November'  => 'Marras', 'December'  => 'Joulu',
2093      'Oct'       => 'Lok',        'Nov'       => 'Mar',    'Dec'       => 'Kou'
2094    );
2095
2096#
2097# handle two different time/date formats:
2098# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2099# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2100#
2101
2102  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2103  if( $wday{$foo[0]} && $month{$foo[2]} )
2104    {
2105	if($foo[3]=~(/(.*)at(.*)/))
2106      {
2107        @quux=split(/at/,$foo[3]);
2108        $foo[3]=$quux[0]." kello ".$quux[1];
2109      };
2110      return "$wday{$foo[0]}, $foo[1]. $month{$foo[2]} $foo[3]";
2111    };
2112
2113# handle nontranslated strings which ought to be translated
2114# print STDERR "$_\n" or print DEBUG "not translated $_";
2115# but then again we might not want/need to translate all strings
2116
2117  return $string;
2118
2119};
2120
2121
2122
2123# French
2124
2125sub french
2126{
2127  my $string = shift;
2128return "" unless defined $string;
2129  my(%translations,%month,%wday);
2130
2131  my($i,$j);
2132  my(@dollar,@quux,@foo);
2133
2134
2135  # regexp => replacement string NOTE does not use autovars $1,$2...
2136  # charset=iso-2022-jp
2137
2138  %translations =
2139  (
2140     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
2141     'Maximal 5 Minute Incoming Traffic'      => 'Trafic maximal en entr&eacute;e sur 5 minutes',
2142     'Maximal 5 Minute Outgoing Traffic'      => 'Trafic maximal en sortie sur 5 minutes',
2143     'the device'                             => 'le mat&eacute;riel',
2144     'The statistics were last updated(.*)'   => 'Les statistiques ont &eacute;t&eacute; mises &agrave; jour le $1',
2145     ' Average\)'                             => ' Moyenne)',
2146     'Average'                                => 'Moyenne',
2147     '>Max'                                   => 'Max',
2148     'Current'                                => 'Actuel',
2149     #'version'                                => 'version',
2150     '`Daily\' Graph \((.*) Minute'           => 'Graphique quotidien (sur $1 minutes :',
2151     '`Weekly\' Graph \(30 Minute'            => 'Graphique hebdomadaire (sur 30 minutes :' ,
2152     '`Monthly\' Graph \(2 Hour'              => 'Graphique mensuel  (sur 2 heures :',
2153     '`Yearly\' Graph \(1 Day'                => 'Graphique annuel (sur 1 jour :',
2154     'Incoming Traffic in (\S+) per Second'   => 'Trafic d\'entr&eacute;e en $1 par seconde',
2155     'Outgoing Traffic in (\S+) per Second'   => 'Trafic de sortie en $1 par seconde',
2156     'at which time (.*) had been up for(.*)' => '$1 &eacute;tait alors en marche depuis $2',
2157     # '([kMG]?)([bB])/s'                      => '\$1\$2/s',
2158     # '([kMG]?)([bB])/min'                    => '\$1\$2/min',
2159     '([kMG]?)([bB])/h'                       => '$1$2/t',
2160     # 'Bits'                                  => 'Bits',
2161     # 'Bytes'                                 => 'Bytes'
2162     'In'                                     => 'Entr&eacute;e',
2163     'Out'                                    => 'Sortie',
2164     'Percentage'                             => 'Pourcentage',
2165     'Ported to OpenVMS Alpha by'             => 'Port&eacute; sur OpenVMS Alpha par',
2166     'Ported to WindowsNT by'                 => 'Port&eacute; sur WindowsNT par',
2167     'and'                                    => 'et',
2168     '^GREEN'                                  => 'VERT',
2169     'BLUE'                                   => 'BLEU',
2170     'DARK GREEN'                             => 'VERT SOMBRE',
2171     'MAGENTA'                                => 'MAGENTA',
2172     'AMBER'                                  => 'AMBRE'
2173  );
2174
2175# maybe expansions with replacement of whitespace would be more appropriate
2176
2177foreach $i (keys %translations)
2178{
2179  my $trans = $translations{$i};
2180  $trans =~ s/\|/\|/;
2181  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2182};
2183
2184%wday =
2185    (
2186      'Sunday'    => 'Dimanche',	'Sun' => 'Dim',
2187      'Monday'    => 'Lundi',		'Mon' => 'Lun',
2188      'Tuesday'   => 'Mardi',		'Tue' => 'Mar',
2189      'Wednesday' => 'Mercredi',	'Wed' => 'Mer',
2190      'Thursday'  => 'Jeudi',		'Thu' => 'Jeu',
2191      'Friday'    => 'Vendredi',	'Fri' => 'Ven',
2192      'Saturday'  => 'Samedi',		'Sat' => 'Sam'
2193    );
2194
2195%month =
2196    (
2197      'January'   => 'Janvier',   'February'  => 'F&eacute;vrier' ,    'March'     => 'Mars',
2198      'Jan'       => 'Jan',       'Feb'       => 'Fev',         'Mar'       => 'Mar',
2199      'April'     => 'Avril',     'May'       => 'Mai',         'June'      => 'Juin',
2200      'Apr'       => 'Avr',       'May'       => 'Mai',         'Jun'       => 'Jun',
2201      'July'      => 'Juillet',   'August'    => 'Ao&ucirc;t',        'September' => 'Septembre',
2202      'Jul'       => 'Jul',       'Aug'       => 'Aou',         'Sep'       => 'Sep',
2203      'October'   => 'Octobre',   'November'  => 'Novembre',    'December'  => 'D&eacute;cembre',
2204      'Oct'       => 'Oct',       'Nov'       => 'Nov',         'Dec'       => 'Dec'
2205    );
2206
2207  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2208  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2209    {
2210	if($foo[3]=~(/(.*)at(.*)/))
2211      {
2212        @quux=split(/at/,$foo[3]);
2213        $foo[3]=$quux[0]." &agrave; ".$quux[1];
2214      };
2215      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
2216    };
2217
2218#
2219# handle two different time/date formats:
2220# return "$wday, $mday $month ".($year+1900)." &agrave; $hour:$min";
2221# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2222#
2223
2224# handle nontranslated strings which ought to be translated
2225# print STDERR "$_\n" or print DEBUG "not translated $_";
2226# but then again we might not want/need to translate all strings
2227
2228  return $string;
2229
2230};
2231
2232
2233# Galician
2234
2235sub galician
2236{
2237  my $string = shift;
2238return "" unless defined $string;
2239  my(%translations,%month,%wday);
2240
2241  my($i,$j);
2242  my(@dollar,@quux,@foo);
2243
2244
2245  # regexp => replacement string NOTE does not use autovars $1,$2...
2246  # charset=iso-2022-jp
2247
2248  %translations =
2249  (
2250     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
2251     'Maximal 5 Minute Incoming Traffic'      => 'Tr&&aacute;fico entrante m&aacute;ximo en 5 minutos',
2252     'Maximal 5 Minute Outgoing Traffic'      => 'Tr&&aacute;fico sa&iacute;nte m&aacute;ximo en 5 minutos',
2253     'the device'                             => 'o dispositivo',
2254     'The statistics were last updated(.*)'   => 'Estas estat&iacute;sticas actualiz&aacute;ronse o $1',
2255     ' Average\)'                             => ' de Media)',
2256     'Average'                                => 'Media',
2257     'Max'                                    => 'M&aacute;x',
2258     'Current'                                => 'Actual',
2259     'version'                                => 'versi&oacute;n',
2260     '`Daily\' Graph \((.*) Minute'           => 'Gr&aacute;fica diaria ($1 minutos',
2261     '`Weekly\' Graph \(30 Minute'            => 'Gr&aacute;fica semanal (30 minutos' ,
2262     '`Monthly\' Graph \(2 Hour'              => 'Gr&aacute;fica mensual (2 horas',
2263     '`Yearly\' Graph \(1 Day'                => 'Gr&aacute;fica anual (1 d&iacute;a',
2264     'Incoming Traffic in (\S+) per Second'   => 'Tr&aacute;fico entrante en $1 por segundo',
2265     'Outgoing Traffic in (\S+) per Second'   => 'Tr&aacute;fico sa&iacute;nte en $1 por segundo',
2266     'at which time (.*) had been up for(.*)' => 'nese intre $1 levaba prendida $2',
2267     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
2268     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
2269     '([kMG]?)([bB])/h'                       => '$1$2/h',
2270     # 'Bits'                                => 'Bits',
2271     # 'Bytes'                              => 'Bytes'
2272     'In'                                     => 'Entrante',
2273     'Out'                                    => 'Sa&iacute;nte',
2274     'Percentage'                             => 'Tanto por ciento',
2275     'Ported to OpenVMS Alpha by'             => 'Portado a OpenVMS Alpha por',
2276     'Ported to WindowsNT by'                 => 'Portado a Windows NT por',
2277     'and'                                    => 'e',
2278     '^GREEN'                                  => 'VERDE',
2279     'BLUE'                                   => 'AZUL',
2280     'DARK GREEN'                             => 'VERDE OSCURO',
2281     'MAGENTA'                                => 'ROSA',
2282     'AMBER'                                  => 'AMBAR'
2283  );
2284
2285# maybe expansions with replacement of whitespace would be more appropriate
2286
2287foreach $i (keys %translations)
2288{
2289  my $trans = $translations{$i};
2290  $trans =~ s/\|/\|/;
2291  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2292};
2293
2294%wday =
2295    (
2296      'Sunday'    => 'Domingo',         'Sun' => 'Dom',
2297      'Monday'    => 'Luns',            'Mon' => 'Lun',
2298      'Tuesday'   => 'Martes',          'Tue' => 'Mar',
2299      'Wednesday' => 'M&eacute;rcores', 'Wed' => 'm&eacute;r',
2300      'Thursday'  => 'Xoves',           'Thu' => 'Xov',
2301      'Friday'    => 'Venres',          'Fri' => 'Ven',
2302      'Saturday'  => 'S&aacute;bado',   'Sat' => 'S&aacute;b'
2303
2304    );
2305
2306%month =
2307    (
2308      'January'   => 'Xaneiro',   'February'  => 'Febreiro' ,   'March'     => 'Marzo',
2309      'Jan'       => 'Xan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
2310      'April'     => 'Abril',     'May'       => 'Maio',        'June'      => 'Xu&ntilde;o',
2311      'Apr'       => 'Abr',       'May'       => 'Mai',         'Jun'       => 'Xu&ntilde;',
2312      'July'      => 'Xullo',     'August'    => 'Agosto',      'September' => 'Setembro',
2313      'Jul'       => 'Xul',       'Aug'       => 'Ago',         'Sep'       => 'Set',
2314      'October'   => 'Outubro',   'November'  => 'Novembro',    'December'  => 'Decembro',
2315      'Oct'       => 'Out',       'Nov'       => 'Nov',         'Dec'       => 'Dec'
2316    );
2317
2318  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2319  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2320    {
2321	if($foo[3]=~(/(.*)at(.*)/))
2322      {
2323        @quux=split(/at/,$foo[3]);
2324        $foo[3]=$quux[0]." &aacute;s ".$quux[1];
2325      };
2326      return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]";
2327    };
2328
2329#
2330# handle two different time/date formats:
2331# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2332# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2333#
2334
2335# handle nontranslated strings which ought to be translated
2336# print STDERR "$_\n" or print DEBUG "not translated $_";
2337# but then again we might not want/need to translate all strings
2338
2339  return $string;
2340
2341  };
2342# Chinese gb Code
2343
2344sub gb
2345{
2346  my $string = shift;
2347return "" unless defined $string;
2348  my(%translations,%month,%wday);
2349
2350  my($i,$j);
2351  my(@dollar,@quux,@foo);
2352
2353
2354  # regexp => replacement string NOTE does not use autovars $1,$2...
2355  # charset=iso-2022-jp
2356
2357  %translations =
2358  (
2359     'iso-8859-1'                             => 'gb',
2360     'Maximal 5 Minute Incoming Traffic'      => '5������������',
2361     'Maximal 5 Minute Outgoing Traffic'      => '5����������������',
2362     'the device'                             => '��ǰ�豸',
2363     'The statistics were last updated(.*)'   => 'ͳ����Ϣ������: $1',
2364     ' Average\)'                             => 'ƽ��)',
2365     'Average'                                => 'ƽ��',
2366     'Max'                                    => '���',
2367     'Current'                                => '��ǰ',
2368     'version'                                => '�汾',
2369     '`Daily\' Graph \((.*) Minute'           => '�շ���ͼ($1����',
2370     '`Weekly\' Graph \(30 Minute'            => '�ܷ���ͼ(30����'  ,
2371     '`Monthly\' Graph \(2 Hour'              => '�·���ͼ(2Сʱ',
2372     '`Yearly\' Graph \(1 Day'                => '�����ͼ(1��',
2373     'Incoming Traffic in (\S+) per Second'   => 'ÿ�����������(��λ$1)',
2374     'Outgoing Traffic in (\S+) per Second'   => 'ÿ�����������(��λ$1)',
2375     'at which time (.*) had been up for(.*)' => '��ʱ $1�Ѿ�����(UPTIME): $2',
2376     '([kMG]?)([bB])/s'                       => '$1$2/s',
2377     '([kMG]?)([bB])/min'                     => '$1$2/m',
2378     '([kMG]?)([bB])/h'                       => '$1$2/h',
2379    # 'Bits'                                   => 'Bits',
2380    # 'Bytes'                                  => 'Bytes'
2381     'In'                                     => '����',
2382     'Out'                                    => '����',
2383     'Percentage'                             => '�ٷֱ�',
2384     'Ported to OpenVMS Alpha by'             => 'OpenVMS�Ķ˿�',
2385     'Ported to WindowsNT by'                 => 'WindowsNT�Ķ˿�',
2386     'and'                                    => '��',
2387     '^GREEN'                                 => '��ɫ',
2388     'BLUE'                                   => '��ɫ',
2389     'DARK GREEN'                             => '����',
2390     'MAGENTA'                                => '��ɫ',
2391     'AMBER'                                  => '��ɫ'
2392  );
2393
2394# maybe expansions with replacement of whitespace would be more appropriate
2395
2396foreach $i (keys %translations)
2397{
2398  my $trans = $translations{$i};
2399  $trans =~ s/\|/\|/;
2400  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2401};
2402
2403%wday =
2404    (
2405      'Sunday'    => '����',        'Sun' => '����',
2406      'Monday'    => '��һ',        'Mon' => '��һ�@',
2407      'Tuesday'   => '�ܶ�',        'Tue' => '�ܶ��G',
2408      'Wednesday' => '����',        'Wed' => '�����T',
2409      'Thursday'  => '����',        'Thu' => '���ĥ|',
2410      'Friday'    => '����',        'Fri' => '����',
2411      'Saturday'  => '����',        'Sat' => '����'
2412
2413    );
2414
2415%month =
2416    (
2417      'January'   => '1��',   'February'  => '2��',    'March'     => '3��',
2418      'Jan'       => '1��',     'Feb'       => '2��',      'Mar'       => '3��',
2419      'April'     => '4��',   'May'       => '5��',    'June'      => '6��',
2420      'Apr'       => '4��',     'May'       => '5��',      'Jun'       => '6��',
2421      'July'      => '7��',   'August'    => '8��',    'September' => '9��',
2422      'Jul'       => '7��',     'Aug'       => '8��',      'Sep'       => '9��',
2423      'October'   => '10��',   'November'  => '11��',  'December'  => '12��',
2424      'Oct'       => '10��',     'Nov'       => '11��',    'Dec'       => '12��'
2425
2426    );
2427
2428
2429  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2430  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2431    {
2432        @quux=split(/at/,$foo[3]);
2433	if($foo[3]=~(/(.*)at(.*)/))
2434      {
2435         $foo[3]=$quux[0];
2436         $foo[4]=$quux[1];
2437      };
2438       return "$foo[3]�� $month{$foo[2]} $foo[1]��, $wday{$foo[0]}, $foo[4]";
2439    };
2440
2441#
2442# handle two different time/date formats:
2443# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2444# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2445#
2446
2447# handle nontranslated strings which ought to be translated
2448# print STDERR "$_\n" or print DEBUG "not translated $_";
2449# but then again we might not want/need to translate all strings
2450
2451  return $string;
2452
2453};
2454# Chinese gb2312 Code
2455
2456sub gb2312
2457{
2458  my $string = shift;
2459return "" unless defined $string;
2460  my(%translations,%month,%wday);
2461
2462  my($i,$j);
2463  my(@dollar,@quux,@foo);
2464
2465
2466  # regexp => replacement string NOTE does not use autovars $1,$2...
2467  # charset=iso-2022-jp
2468
2469  %translations =
2470  (
2471     'iso-8859-1'                             => 'gb2312',
2472     'Maximal 5 Minute Incoming Traffic'      => '5�������������',
2473     'Maximal 5 Minute Outgoing Traffic'      => '5�������������',
2474     'the device'                             => 'װ��',
2475     'The statistics were last updated(.*)'   => '�ϴ�ͳ�Ƹ���ʱ��: $1',
2476     ' Average\)'                             => ' ƽ��)',
2477     'Average'                                => 'ƽ��',
2478     'Max'                                    => '���',
2479     'Current'                                => 'Ŀǰ',
2480     'version'                                => '�汾',
2481     '`Daily\' Graph \((.*) Minute'           => 'ÿ�� ͼ�� ($1 ����',
2482     '`Weekly\' Graph \(30 Minute'            => 'ÿ�� ͼ�� (30 ����' ,
2483     '`Monthly\' Graph \(2 Hour'              => 'ÿ�� ͼ�� (2 Сʱ',
2484     '`Yearly\' Graph \(1 Day'                => 'ÿ�� ͼ�� (1 ��',
2485     'Incoming Traffic in (\S+) per Second'   => 'ÿ�������� (��λ $1)',
2486     'Outgoing Traffic in (\S+) per Second'   => 'ÿ�������� (��λ $1)',
2487     'at which time (.*) had been up for(.*)' => '�豸���� $1��������ʱ��(UPTIME): $2',
2488     '([kMG]?)([bB])/s'                       => '\$1\$2/��',
2489     '([kMG]?)([bB])/min'                     => '\$1\$2/��',
2490     '([kMG]?)([bB])/h'                       => '$1$2/ʱ',
2491    # 'Bits'                                   => 'Bits',
2492    # 'Bytes'                                  => 'Bytes'
2493     'In'                                     => '����',
2494     'Out'                                    => '����',
2495     'Percentage'                             => '�ٷֱ�',
2496     'Ported to OpenVMS Alpha by'             => '��ֲ�� OpenVM Alpha ����',
2497     'Ported to WindowsNT by'                 => '��ֲ�� WindowsNT ����',
2498     'and'                                    => '��',
2499     '^GREEN'                                 => '��ɫ',
2500     'BLUE'                                   => '��ɫ',
2501     'DARK GREEN'                             => 'ī��ɫ',
2502     'MAGENTA'                                => '��ɫ',
2503     'AMBER'                                  => '����ɫ'
2504  );
2505
2506# maybe expansions with replacement of whitespace would be more appropriate
2507
2508foreach $i (keys %translations)
2509{
2510  my $trans = $translations{$i};
2511  $trans =~ s/\|/\|/;
2512  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2513};
2514
2515%wday =
2516    (
2517      'Sunday'    => '������',        'Sun' => '��',
2518      'Monday'    => '����һ',        'Mon' => 'һ',
2519      'Tuesday'   => '���ڶ�',        'Tue' => '��',
2520      'Wednesday' => '������',        'Wed' => '��',
2521      'Thursday'  => '������',        'Thu' => '��',
2522      'Friday'    => '������',        'Fri' => '��',
2523      'Saturday'  => '������',        'Sat' => '��'
2524
2525    );
2526
2527%month =
2528    (
2529      'January'   => 'һ��',   'February'  => '����',    'March'     => '����',
2530      'Jan'       => 'һ',     'Feb'       => '��',      'Mar'       => '��',
2531      'April'     => '����',   'May'       => '����',    'June'      => '����',
2532      'Apr'       => '��',     'May'       => '��',      'Jun'       => '��',
2533      'July'      => '����',   'August'    => '����',    'September' => '����',
2534      'Jul'       => '��',     'Aug'       => '��',      'Sep'       => '��',
2535      'October'   => 'ʮ��',   'November'  => 'ʮһ��',  'December'  => 'ʮ����',
2536      'Oct'       => 'ʮ',     'Nov'       => 'ʮһ',    'Dec'       => 'ʮ��'
2537
2538    );
2539
2540
2541  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2542  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2543    {
2544        @quux=split(/at/,$foo[3]);
2545	if($foo[3]=~(/(.*)at(.*)/))
2546      {
2547         $foo[3]=$quux[0];
2548         $foo[4]=$quux[1];
2549      };
2550       return "$foo[3] $month{$foo[2]} $foo[1] ��, $wday{$foo[0]}, $foo[4]";
2551    };
2552
2553#
2554# handle two different time/date formats:
2555# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2556# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2557#
2558
2559# handle nontranslated strings which ought to be translated
2560# print STDERR "$_\n" or print DEBUG "not translated $_";
2561# but then again we might not want/need to translate all strings
2562
2563  return $string;
2564
2565};
2566# German
2567
2568sub german
2569{
2570  my $string = shift;
2571  return "" unless defined $string;
2572  my(%translations,%month,%wday);
2573
2574  my($i,$j);
2575  my(@dollar,@quux,@foo);
2576
2577
2578  # regexp => replacement string NOTE does not use autovars $1,$2...
2579  # charset=iso-2022-jp
2580
2581  %translations =
2582  (
2583     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
2584     'Maximal 5 Minute Incoming Traffic'      => 'Maximaler hereinkommender Traffic in 5 Minuten',
2585     'Maximal 5 Minute Outgoing Traffic'      => 'Maximaler hinausgehender Traffic in 5 Minuten',
2586     'the device'                             => 'das Ger�t',
2587     'The statistics were last updated(.*)'   => 'Die Statistiken wurden am $1 zuletzt aktualisiert',
2588     ' Average\)'                             => '',
2589     'Average'                                => 'Mittel',
2590     'Max'                                    => 'Maximal',
2591     'Current'                                => 'Aktuell',
2592     'version'                                => 'Version',
2593     '`Daily\' Graph \((.*) Minute'           => 'Tages&uuml;bersicht (Skalierung $1 Minute(n)',
2594     '`Weekly\' Graph \(30 Minute'            => 'Wochen&uuml;bersicht (Skalierung 30 Minuten',
2595     '`Monthly\' Graph \(2 Hour'              => 'Monats&uuml;bersicht (Skalierung 2 Stunden',
2596     '`Yearly\' Graph \(1 Day'                => 'Jahres&uuml;bersicht (Skalierung 1 Tag',
2597     'Incoming Traffic in (\S+) per Second'   => 'Hereinkommender Traffic in $1 pro Sekunde',
2598     'Outgoing Traffic in (\S+) per Second'   => 'Hinausgehender Traffic in $1 pro Sekunde',
2599     'Incoming Traffic in (\S+) per Minute'   => 'Hereinkommender Traffic in $1 pro Minute',
2600     'Outgoing Traffic in (\S+) per Minute'   => 'Hinausgehender Traffic in $1 pro Minute',
2601     'Incoming Traffic in (\S+) per Hour'     => 'Hereinkommender Traffic in $1 pro Stunde',
2602     'Outgoing Traffic in (\S+) per Hour'     => 'Hinausgehender Traffic in $1 pro Stunde',
2603     'at which time (.*) had been up for(.*)' => 'zu diesem Zeitpunkt lief $1 seit $2',
2604     '(\S+) per minute'			      => '$1 pro Minute',
2605     '(\S+) per hour'			      => '$1 pro Stunde',
2606     '(.+)/s$'                                 => '$1/s',
2607     # '(.+)/min'                     => '$1/min',
2608     '(.+)/h$'                       => '$1/std',
2609     #'([kMG]?)([bB])/s'                       => '$1$2/s',
2610     #'([kMG]?)([bB])/min'                     => '$1$2/min',
2611     #'([kMG]?)([bB])/h'                       => '$1$2/std',
2612     # 'Bits'                                => 'Bits',
2613     # 'Bytes'                               => 'Bytes'
2614     'In'                                     => 'Herein',
2615     'Out'                                    => 'Hinaus',
2616     'Percentage'                             => 'Prozent',
2617     'Ported to OpenVMS Alpha by'             => 'Portierung nach OpenVMS von',
2618     'Ported to WindowsNT by'                 => 'Portierung nach WindowsNT von',
2619     'and'                                    => 'und',
2620     '^GREEN'                                 => 'GR&Uuml;N',
2621     'BLUE'                                   => 'BLAU',
2622     'DARK GREEN'                             => 'DUNKELGR&Uuml;N',
2623     # 'MAGENTA'                                => 'ROSA',
2624     # 'AMBER'                               => 'AMBER',
2625  );
2626
2627# maybe expansions with replacement of whitespace would be more appropriate
2628
2629foreach $i (keys %translations)
2630{
2631  my $trans = $translations{$i};
2632  $trans =~ s/\|/\|/;
2633  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2634};
2635
2636%wday =
2637    (
2638      'Sunday'    => 'Sonntag',     'Sun' => 'So',
2639      'Monday'    => 'Montag',      'Mon' => 'Mo',
2640      'Tuesday'   => 'Dienstag',    'Tue' => 'Di',
2641      'Wednesday' => 'Mittwoch',    'Wed' => 'Mi',
2642      'Thursday'  => 'Donnerstag',  'Thu' => 'Do',
2643      'Friday'    => 'Freitag',     'Fri' => 'Fr',
2644      'Saturday'  => 'Samstag',     'Sat' => 'Sa'
2645    );
2646
2647%month =
2648    (
2649      'January'   => 'Januar',    'February'  => 'Februar' ,    'March'     => 'M&auml;rz',
2650      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'M&auml;r',
2651      'April'     => 'April',     'May'       => 'Mai',         'June'      => 'Juni',
2652      'Apr'       => 'Apr',       'May'       => 'Mai',         'Jun'       => 'Jun',
2653      'July'      => 'Juli',      'August'    => 'August',      'September' => 'September',
2654      'Jul'       => 'Jul',       'Aug'       => 'Aug',         'Sep'       => 'Sep',
2655      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Dezember',
2656      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Dez'
2657    );
2658
2659  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2660  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2661    {
2662	if($foo[3]=~(/(.*)at(.*)/))
2663      {
2664        @quux=split(/at/,$foo[3]);
2665        $foo[3]=$quux[0]." um ".$quux[1];
2666      };
2667      return "$wday{$foo[0]}, den $foo[1]. $month{$foo[2]} $foo[3]";
2668    };
2669
2670#
2671# handle two different time/date formats:
2672# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2673# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2674#
2675
2676# handle nontranslated strings which ought to be translated
2677# print STDERR "$_\n" or print DEBUG "not translated $_";
2678# but then again we might not want/need to translate all strings
2679
2680  return $string;
2681
2682};
2683
2684
2685
2686# Greek
2687
2688sub greek
2689{
2690  my $string = shift;
2691return "" unless defined $string;
2692  my(%translations,%month,%wday);
2693
2694  my($i,$j);
2695  my(@dollar,@quux,@foo);
2696
2697
2698  # regexp => replacement string NOTE does not use autovars $1,$2...
2699  # charset=iso-2022-jp
2700
2701  %translations =
2702  (
2703     'iso-8859-1'                             => 'iso-8859-7',
2704     'Maximal 5 Minute Incoming Traffic'      => '������� ����������� ������ ��� 5 �����',
2705     'Maximal 5 Minute Outgoing Traffic'      => '������� ���������� ������ ��� 5 �����',
2706     'the device'                             => '� �������',
2707     'The statistics were last updated(.*)'   => '�� ���������� ������������ ��������� ���� ��(�)/�� $1',
2708     ' Average\)'                             => ' ����� ����)',
2709     'Average'                                => '����� ����',
2710     'Max'                                    => '�������',
2711     'Current'                                => '������',
2712     'version'                                => '������',
2713     '`Daily\' Graph \((.*) Minute'           => '�������� ������� (���� $1 ����� :',
2714     '`Weekly\' Graph \(30 Minute'            => '����������� ������� (���� 30 ����� :' ,
2715     '`Monthly\' Graph \(2 Hour'              => '������� �������  (���� 2 ���� :',
2716     '`Yearly\' Graph \(1 Day'                => '������ ������� (���� 1 ���� :',
2717     'Incoming Traffic in (\S+) per Second'   => '����������� ������ �� $1 ��� ������������',
2718     'Outgoing Traffic in (\S+) per Second'   => '���������� ������ �� $1 ��� ������������',
2719     'at which time (.*) had been up for(.*)' => '���� ����� ����� $1 ���� ������ ��� $2',
2720     # '([kMG]?)([bB])/s'                      => '\$1\$2/s',
2721     # '([kMG]?)([bB])/min'                    => '\$1\$2/min',
2722     '([kMG]?)([bB])/h'                       => '$1$2/t',
2723     # 'Bits'                                  => 'Bits',
2724     # 'Bytes'                                 => 'Bytes'
2725     'In'                                     => '�����������',
2726     'Out'                                    => '����������',
2727     'Percentage'                             => '�������',
2728     'Ported to OpenVMS Alpha by'             => '����������� �� OpenVMS Alpha ���',
2729     'Ported to WindowsNT by'                 => '����������� �� WindowsNT ���',
2730     'and'                                    => '���',
2731     '^GREEN'                                  => '�������',
2732     'BLUE'                                   => '����',
2733     'DARK GREEN'                             => '������ �������',
2734     'MAGENTA'                                => '���',
2735     'AMBER'                                  => '���������'
2736  );
2737
2738# maybe expansions with replacement of whitespace would be more appropriate
2739
2740foreach $i (keys %translations)
2741{
2742  my $trans = $translations{$i};
2743  $trans =~ s/\|/\|/;
2744  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2745};
2746
2747%wday =
2748    (
2749      'Sunday'    => '�������',		'Sun' => '���',
2750      'Monday'    => '�������',		'Mon' => '���',
2751      'Tuesday'   => '�����',		'Tue' => '���',
2752      'Wednesday' => '�������',		'Wed' => '���',
2753      'Thursday'  => '������',		'Thu' => '���',
2754      'Friday'    => '���������',	'Fri' => '���',
2755      'Saturday'  => '�������',		'Sat' => '���'
2756    );
2757
2758%month =
2759    (
2760      'January'   => '���������',   'February'  => '�����������' ,  'March'     => '�������',
2761      'Jan'       => '���',          'Feb'       => '���',           'Mar'       => '���',
2762      'April'     => '��������',     'May'       => '�����',         'June'      => '�������',
2763      'Apr'       => '���',          'May'       => '���',           'Jun'       => '���',
2764      'July'      => '�������',      'August'    => '���������',     'September' => '�����������',
2765      'Jul'       => '���',          'Aug'       => '���',           'Sep'       => '���',
2766      'October'   => '���������',    'November'  => '���������',     'December'  => '����������',
2767      'Oct'       => '���',          'Nov'       => '���',           'Dec'       => '���'
2768    );
2769
2770  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2771  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2772    {
2773	if($foo[3]=~(/(.*)at(.*)/))
2774      {
2775        @quux=split(/at/,$foo[3]);
2776        $foo[3]=$quux[0]." ���� ".$quux[1];
2777      };
2778      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
2779    };
2780
2781#
2782# handle two different time/date formats:
2783# return "$wday, $mday $month ".($year+1900)." &agrave; $hour:$min";
2784# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2785#
2786
2787# handle nontranslated strings which ought to be translated
2788# print STDERR "$_\n" or print DEBUG "not translated $_";
2789# but then again we might not want/need to translate all strings
2790
2791  return $string;
2792
2793};
2794# Hungarian
2795
2796
2797sub hungarian
2798{
2799  my $string = shift;
2800return "" unless defined $string;
2801  my(%translations,%month,%wday);
2802
2803  my($i,$j);
2804  my(@dollar,@quux,@foo);
2805
2806
2807  # regexp => replacement string NOTE does not use autovars $1,$2...
2808  # charset=iso-2022-jp
2809
2810  %translations =
2811  (
2812     #'charset=iso-8859-1'                     => 'charset=iso-8859-2',
2813     'Maximal 5 Minute Incoming Traffic'      => 'Maxim&aacute;lis bej&ouml;v&otilde; forgalom 5 perc alatt',
2814     'Maximal 5 Minute Outgoing Traffic'      => 'Maxim&aacute;lis kimen&otilde; forgalom 5 perc alatt',
2815     'the device'                             => 'az eszk&ouml;z',
2816     'The statistics were last updated(.*)'   => 'A statisztika utols&oacute; friss&iacute;t&eacute;se:$1',
2817     ' Average\)'                             => ' &aacute;tlag)',
2818     'Average'                                => '&Aacute;tlagos',
2819     'Max'                                    => 'Maximum',
2820     'Current'                                => 'Pillanatnyi',
2821     'version'                                => 'verzi&oacute;',
2822     '`Daily\' Graph \((.*) Minute'           => '`Napi\' grafikon ($1 perces',
2823     '`Weekly\' Graph \(30 Minute'            => '`Heti\' grafikon (30 perces' ,
2824     '`Monthly\' Graph \(2 Hour'              => '`Havi\' grafikon (2 &oacute;r&aacute;s',
2825     '`Yearly\' Graph \(1 Day'                => '`&Eacute;ves\' grafikon (1 napos',
2826     'Incoming Traffic in (\S+) per Second'   => 'Bej&ouml;v&otilde; forgalom $1 per m&aacute;sodpercben',
2827     'Outgoing Traffic in (\S+) per Second'   => 'Kimen&otilde; forgalom $1 per m&aacute;sodpercben',
2828     'at which time (.*) had been up for(.*)' => 'amikor a $1 &uuml;zemideje $2 volt.',
2829     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
2830     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
2831     '([kMG]?)([bB])/h'                       => '$1$2/t',
2832     'Bits'                                => 'Bit',
2833     'Bytes'                              => 'Byte',
2834     'In'                                     => 'be',
2835     'Out'                                    => 'ki',
2836     'Percentage'                             => 'sz&aacute;zale&acute;k',
2837     'Ported to OpenVMS Alpha by'             => 'OpenVMS-re portolta',
2838     'Ported to WindowsNT by'                 => 'WindowsNT-re portolta',
2839     'and'                                    => '&eacute;s',
2840     '^GREEN'                                  => 'Z&Ouml;LD',
2841     'BLUE'                                   => 'K&Eacute;K',
2842     'DARK GREEN'                             => 'S&Ouml;T&Eacute;T Z&Ouml;LD',
2843     'MAGENTA'                                => 'B&Iacute;BOR',
2844     'AMBER'                                  => 'S&Aacute;RGA'
2845  );
2846
2847# maybe expansions with replacement of whitespace would be more appropriate
2848
2849foreach $i (keys %translations)
2850{
2851  my $trans = $translations{$i};
2852  $trans =~ s/\|/\|/;
2853  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2854};
2855
2856%wday =
2857    (
2858      'Sunday'    => 'vas&aacute;rnap',		'Sun' => 'vas',
2859      'Monday'    => 'h&eacute;tf&otilde;',	'Mon' => 'h&eacute;t',
2860      'Tuesday'   => 'kedd',			'Tue' => 'kedd',
2861      'Wednesday' => 'szerda',			'Wed' => 'sze',
2862      'Thursday'  => 'cs&uuml;t&ouml;rt&ouml;k','Thu' => 'cs&uuml;t',
2863      'Friday'    => 'p&eacute;ntek',           'Fri' => 'p&eacute;n',
2864      'Saturday'  => 'szombat',    		'Sat' => 'szo'
2865
2866    );
2867
2868%month =
2869    (
2870      'January'   => 'janu&aacute;r',    'February'  => 'febru&aacute;r' ,    'March'     => 'm&aacute;rcius',
2871      'Jan'       => 'jan',       'Feb'       => 'feb',         'Mar'       => 'marc',
2872      'April'     => '&aacute;prilis',     'May'       => 'm&aacute;jus',         'June'      => 'j&uacute;nius',
2873      'Apr'       => 'apr',       'May'       => 'maj',         'Jun'       => 'jun',
2874      'July'      => 'j&uacute;lius',      'August'    => 'augusztus',      'September' => 'szeptember',
2875      'Jul'       => 'jul',       'Aug'       => 'aug',         'Sep'       => 'szept',
2876      'October'   => 'okt&oacute;ber',   'November'  => 'november',    'December'  => 'december',
2877      'Oct'       => 'okt',       'Nov'       => 'nov',         'Dec'       => 'dec'
2878    );
2879
2880  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2881  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2882    {
2883	if($foo[3]=~(/(.*)at(.*)/))
2884      {
2885        @quux=split(/at/,$foo[3]);
2886        $foo[3]=$quux[0]." kl.".$quux[1];
2887      };
2888	return "$quux[0]. $month{$foo[2]} $foo[1]., $wday{$foo[0]} $quux[1]";
2889    };
2890
2891#
2892# handle two different time/date formats:
2893# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
2894# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
2895#
2896
2897# handle nontranslated strings which ought to be translated
2898# print STDERR "$_\n" or print DEBUG "not translated $_";
2899# but then again we might not want/need to translate all strings
2900
2901  return $string;
2902
2903  };
2904# Icelandic
2905
2906sub icelandic
2907{
2908  my $string = shift;
2909return "" unless defined $string;
2910  my(%translations,%month,%wday);
2911
2912  my($i,$j);
2913  my(@dollar,@quux,@foo);
2914
2915
2916  # regexp => replacement string NOTE does not use autovars $1,$2...
2917  # charset=iso-2022-jp
2918
2919  %translations =
2920  (
2921     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
2922     'Maximal 5 Minute Incoming Traffic'      => 'H&aacute;marks 5 m&iacute;n&uacute;tna umfer&eth; inn',
2923     'Maximal 5 Minute Outgoing Traffic'      => 'H&aacute;marks 5 m&iacute;n&uacute;tna umfer&eth; &uacute;t',
2924     'the device'                             => 't�ki&eth;',
2925     'The statistics were last updated(.*)'   => 'G&ouml;gnin voru s&iacute;&eth;ast uppf&aelig;r&eth;$1',
2926     ' Average\)'                             => ' Me&eth;altal)',
2927     'Average'                                => 'Me&eth;altal',
2928     'Max'                                    => 'H&aacute;mark',
2929     'Current'                                => 'N&uacute;',
2930     'version'                                => '&uacute;tg&aacute;fa',
2931     '`Daily\' Graph \((.*) Minute'           => '`Dagleg\' sta&eth;a ($1 m&iacute;n&uacute;tur',
2932     '`Weekly\' Graph \(30 Minute'            => '`Vikuleg\' sta&eth;a (30 m&iacute;n&uacute;tur',
2933     '`Monthly\' Graph \(2 Hour'              => '`M&aacute;na&eth;arleg\' sta&eth;a (2 klst.',
2934     '`Yearly\' Graph \(1 Day'                => '`&Aarleg\' sta&eth;a (1 dags',
2935     'Incoming Traffic in (\S+) per Second'   => 'Umfer&eth; inn &iacute; $1 &aacute; sek&uacute;ndu',
2936     'Outgoing Traffic in (\S+) per Second'   => 'Umfer&eth; &uacute;t &iacute; $1 &aacute; sek&uacute;ndu',
2937     'at which time (.*) had been up for(.*)' => '&thorn;egar $1 haf&eth;i veri&eth; uppi &iacute;$2',
2938     # '([kMG]?)([bB])/s'                 => '\$1\$2/sek',
2939     # '([kMG]?)([bB])/min'              => '\$1\$2/m&iacute;n',
2940     '([kMG]?)([bB])/h'                       => '$1$2/klst',
2941     # 'Bits'                                => 'Bitar',
2942     # 'Bytes'                              => 'B&aelig;ti'
2943     'In'                                     => 'Inn',
2944     'Out'                                    => '&Uacute;t',
2945     'Percentage'                             => 'Pr&oacute;sent',
2946     'Ported to OpenVMS Alpha by'             => 'Sta&eth;f&aelig;rt &aacute; OpenVMS af',
2947     'Ported to WindowsNT by'                 => 'Sta&eth;f&aelig;rt &aacute; WindowsNT af',
2948     'and'                                    => 'og',
2949     '^GREEN'                                  => 'GR&AElig;Nt',
2950     'BLUE'                                   => 'BL&Aacute;TT',
2951     'DARK GREEN'                             => 'D&Ouml;KK GR&AElig;NN',
2952     'MAGENTA'                                => 'BL&Aacute;RAU&ETH;UR',
2953     'AMBER'                                  => 'GULBR&Uacute;NN'
2954  );
2955
2956# maybe expansions with replacement of whitespace would be more appropriate
2957
2958foreach $i (keys %translations)
2959{
2960  my $trans = $translations{$i};
2961  $trans =~ s/\|/\|/;
2962  return $string if eval " \$string =~ s|\${i}|${trans}| ";
2963};
2964
2965%wday =
2966    (
2967      'Sunday'    => 'Sunnudagur',            'Sun' => 'Sun',
2968      'Monday'    => 'M&aacute;nudagur',      'Mon' => 'M&aacute;n',
2969      'Tuesday'   => '&THORN;ri&eth;judagur', 'Tue' => '&THORN;ri',
2970      'Wednesday' => 'Mi&eth;vikudagur',      'Wed' => 'Mi&eth;',
2971      'Thursday'  => 'Fimmtudagur',           'Thu' => 'Fim',
2972      'Friday'    => 'F&ouml;studagur',       'Fri' => 'F&ouml;s',
2973      'Saturday'  => 'Laugardagur',           'Sat' => 'Lau'
2974
2975    );
2976
2977%month =
2978    (
2979      'January'   => 'Jan&uacute;ar',    'February'  => 'Febr&uacute;ar' ,    'March'     => 'Mars',
2980      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
2981      'April'     => 'Apr&iacute;l',     'May'       => 'Ma&iacute;',         'June'      => 'J&uacute;n&iacute;',
2982      'Apr'       => 'Apr',       'May'       => 'Ma&iacute;',         'Jun'       => 'J&uacute;n',
2983      'July'      => 'J&uacute;l&iacute;',      'August'    => '&Aacute;g&uacute;st',      'September' => 'September',
2984      'Jul'       => 'J&uacute;l',       'Aug'       => '&Aacute;g&uacute;',         'Sep'       => 'Sep',
2985      'October'   => 'Okt&oacute;ber',   'November'  => 'N&oacute;vember',    'December'  => 'Desember',
2986      'Oct'       => 'Okt',       'Nov'       => 'N&oacute;v',         'Dec'       => 'Des'
2987    );
2988
2989  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
2990  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
2991    {
2992	if($foo[3]=~(/(.*)at(.*)/))
2993      {
2994        @quux=split(/at/,$foo[3]);
2995        $foo[3]=$quux[0]." kl.".$quux[1];
2996      };
2997      return "$wday{$foo[0]} den $foo[1]. $month{$foo[2]} $foo[3]";
2998    };
2999
3000#
3001# handle two different time/date formats:
3002# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3003# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3004#
3005
3006# handle nontranslated strings which ought to be translated
3007# print STDERR "$_\n" or print DEBUG "not translated $_";
3008# but then again we might not want/need to translate all strings
3009
3010  return $string;
3011
3012};
3013# Malaysian/Indonesian/Malay
3014
3015sub indonesia
3016{
3017  my $string = shift;
3018return "" unless defined $string;
3019  my(%translations,%month,%wday);
3020
3021  my($i,$j);
3022  my(@dollar,@quux,@foo);
3023
3024
3025  # regexp => replacement string NOTE does not use autovars $1,$2...
3026  # charset=iso-2022-jp
3027
3028  %translations =
3029  (
3030     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
3031     'Maximal 5 Minute Incoming Traffic'      => 'Trafik Masuk Maksimum dalam 5 Menit',
3032     'Maximal 5 Minute Outgoing Traffic'      => 'Trafik Keluar Maksimum dalam 5 Menit',
3033     'the device'                             => 'device',
3034     'The statistics were last updated(.*)'   => 'Statistik ini terakhir kali diupdate pada $1',
3035     ' Average\)'                             => ')',
3036     'Average'                                => 'Rata-rata',
3037     'Max'                                    => 'Maksimum',
3038     'Current'                                => 'Sekarang',
3039     'version'                                => 'versi',
3040     '`Daily\' Graph \((.*) Minute'           => 'Grafik Harian (Rata-rata per $1 menit',
3041     '`Weekly\' Graph \(30 Minute'            => 'Grafik Mingguan (Rata-rata per 30 menit',
3042     '`Monthly\' Graph \(2 Hour'              => 'Grafik Bulanan (Rata-rata per 2 jam',
3043     '`Yearly\' Graph \(1 Day'                => 'Grafik Tahunan (Rata-rata per hari',
3044     'Incoming Traffic in (\S+) per Second'   => 'Trafik Masuk $1 per detik',
3045     'Outgoing Traffic in (\S+) per Second'   => 'Trafik Keluar $1 per detik',
3046     'at which time (.*) had been up for(.*)' => 'Pada saat $1 telah aktif selama $2',
3047     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3048     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3049     '([kMG]?)([bB])/h'                       => '$1$2/j',
3050     # 'Bits'                                => 'Bits',
3051     # 'Bytes'                              => 'Bytes'
3052     'In'                                     => 'Masuk',
3053     'Out'                                    => 'Keluar',
3054     'Percentage'                             => 'Persentase',
3055     'Ported to OpenVMS Alpha by'             => 'Porting ke  OpenVMS Alpha oleh',
3056     'Ported to WindowsNT by'                 => 'Porting ke WindowsNT oleh',
3057     'and'                                    => 'dan',
3058     '^GREEN'                                 => 'HIJAU',
3059     'BLUE'                                   => 'BIRU',
3060     'DARK GREEN'                             => 'HIJAU GELAP',
3061     'MAGENTA'                                => 'MAGENTA',
3062     'AMBER'                                  => 'AMBAR'
3063  );
3064
3065# maybe expansions with replacement of whitespace would be more appropriate
3066
3067foreach $i (keys %translations)
3068{
3069  my $trans = $translations{$i};
3070  $trans =~ s/\|/\|/;
3071  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3072};
3073
3074%wday =
3075    (
3076      'Sunday'    => 'Ahad',    'Sun' => 'Aha',
3077      'Monday'    => 'Senin',   'Mon' => 'Sen',
3078      'Tuesday'   => 'Selasa',  'Tue' => 'Sel',
3079      'Wednesday' => 'Rabu',    'Wed' => 'Rab',
3080      'Thursday'  => 'Kamis',   'Thu' => 'Kam',
3081      'Friday'    => 'Jumat',   'Fri' => 'Jum',
3082      'Saturday'  => 'Sabtu',   'Sat' => 'Sab'
3083    );
3084
3085%month =
3086    (
3087      'January'   => 'Januari',   'February'  => 'Februari' ,   'March'     => 'Maret',
3088      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
3089      'April'     => 'April',     'May'       => 'Mei',         'June'      => 'Juni',
3090      'Apr'       => 'Apr',       'May'       => 'Mei',         'Jun'       => 'Jun',
3091      'July'      => 'Juli',      'August'    => 'Agustus',     'September' => 'September',
3092      'Jul'       => 'Jul',       'Aug'       => 'Ags',         'Sep'       => 'Sep',
3093      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Desember',
3094      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Des'
3095    );
3096
3097  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3098  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3099    {
3100	if($foo[3]=~(/(.*)at(.*)/))
3101      {
3102        @quux=split(/at/,$foo[3]);
3103        $foo[3]=$quux[0]." pada ".$quux[1];
3104      };
3105	return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
3106    };
3107
3108#
3109# handle two different time/date formats:
3110# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3111# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3112#
3113
3114# handle nontranslated strings which ought to be translated
3115# print STDERR "$_\n" or print DEBUG "not translated $_";
3116# but then again we might not want/need to translate all strings
3117
3118  return $string;
3119
3120};
3121# iso2022jp
3122
3123sub iso2022jp
3124{
3125  my $string = shift;
3126  return "" unless defined $string;
3127  my(%translations,%month,%wday);
3128
3129  my($i,$j);
3130  my(@dollar,@quux,@foo);
3131
3132
3133  # regexp => replacement string NOTE does not use autovars $1,$2...
3134  # charset=iso-2022-jp
3135
3136  %translations =
3137  (
3138     '^iso-8859-1'                            => 'iso-2022-jp',
3139     '^Maximal 5 Minute Incoming Traffic'     => '\e\\$B:GBg\e(B5\e\\$BJ,<u?.NL\e(B',
3140     '^Maximal 5 Minute Outgoing Traffic'     => '\e\\$B:GBg\e(B5\e\\$BJ,Aw?.NL\e(B',
3141     '^the device'                            => '\e\\$B%G%P%\\$%9\e(B',
3142     '^The statistics were last updated (.*)' => '\e\\$B99?7F|;~\e(B $1',
3143     '^Average\)'                             => '\e\\$BJ?6Q\e(B)',
3144     '^Average$'                              => '\e\\$BJ?6Q\e(B',
3145     '^Max$'                                  => '\e\\$B:GBg\e(B',
3146     '^Current'                               => '\e\\$B:G?7\e(B',
3147     '^`Daily\' Graph \((.*) Minute'          => '\e\\$BF|%0%i%U\e(B($1\e\\$BJ,4V\e(B',
3148     '^`Weekly\' Graph \(30 Minute'           => '\e\\$B=5%0%i%U\e(B(30\e\\$BJ,4V\e(B',
3149     '^`Monthly\' Graph \(2 Hour'             => '\e\\$B7n%0%i%U\e(B(2\e\\$B;~4V\e(B',
3150     '^`Yearly\' Graph \(1 Day'               => '\e\\$BG/%0%i%U\e(B(1\e\\$BF|\e(B',
3151     '^Incoming Traffic in (\S+) per Second'  => '\e\\$BKhIC\\$N<u?.\e(B$1\e\\$B?t\e(B',
3152     '^Incoming Traffic in (\S+) per Minute'  => '\e\\$BKhJ,\\$N<u?.\e(B$1\e\\$B?t\e(B',
3153     '^Incoming Traffic in (\S+) per Hour'    => '\e\\$BKh;~\\$N<u?.\e(B$1\e\\$B?t\e(B',
3154     '^Outgoing Traffic in (\S+) per Second'  => '\e\\$BKhIC\\$NAw?.\e(B$1\e\\$B?t\e(B',
3155     '^Outgoing Traffic in (\S+) per Minute'  => '\e\\$BKhJ,\\$NAw?.\e(B$1\e\\$B?t\e(B',
3156     '^Outgoing Traffic in (\S+) per Hour'    => '\e\\$BKh;~\\$NAw?.\e(B$1\e\\$B?t\e(B',
3157     '^at which time (.*) had been up for (.*)' => '$1\e\\$B\\$N2TF/;~4V\e(B $2',
3158     '^Average max 5 min values for `Daily\' Graph \((.*) Minute interval\):' => '\e\\$BF|%0%i%U\\$G\\$N:GBg\e(B5\e\\$BJ,CM\\$NJ?6Q\e(B($1\e\\$BJ,4V3V\e(B):',
3159     '^Average max 5 min values for `Weekly\' Graph \(30 Minute interval\):' => '\e\\$B=5%0%i%U\\$G\\$N:GBg\e(B5\e\\$BJ,CM\\$NJ?6Q\e(B(30\e\\$BJ,4V3V\e(B):',
3160     '^Average max 5 min values for `Monthly\' Graph \(2 Hour interval\):' => '\e\\$B7n%0%i%U\\$G\\$N:GBg\e(B5\e\\$BJ,CM\\$NJ?6Q\e(B(2\e\\$B;~4V4V3V\e(B):',
3161     '^Average max 5 min values for `Yearly\' Graph \(1 Day interval\):' => '\e\\$BG/%0%i%U\\$G\\$N:GBg\e(B5\e\\$BJ,CM\\$NJ?6Q\e(B(1\e\\$BF|4V3V\e(B):',
3162     #'^([kMG]?)([bB])/s'                      => '$1$2/\e\\$BIC\e(B',
3163     #'^([kMG]?)([bB])/min'                    => '$1$2/\e\\$BJ,\e(B',
3164     #'^([kMG]?)([bB])/h'                      => '$1$2/\e\\$B;~\e(B',
3165     '^Bits$'                                 => '\e\\$B%S%C%H\e(B',
3166     '^Bytes$'                                => '\e\\$B%P%\\$%H\e(B',
3167     '^In$'                                   => '\e\\$B<u?.\e(B',
3168     '^Out$'                                  => '\e\\$BAw?.\e(B',
3169     '^Percentage'                            => '\e\\$BHfN(\e(B',
3170     '^Ported to OpenVMS Alpha by'            => 'OpenVMS Alpha\e\\$B\\$X\\$N0\\\?"\e(B',
3171     '^Ported to WindowsNT by'                => 'WindowsNT\e\\$B\\$X\\$N0\\\?"\e(B',
3172     #'^and'                                   => 'and',
3173     '^GREEN'                                 => '\e\\$BNP\e(B',
3174     '^BLUE'                                  => '\e\\$B\\@D\e(B',
3175     '^DARK GREEN'                            => '\e\\$B?<NP\e(B',
3176     '^MAGENTA'                               => '\e\\$B%^%<%s%?\e(B',
3177     '^AMBER'                                 => '\e\\$B`h`a\e(B'
3178  );
3179
3180# maybe expansions with replacement of whitespace would be more appropriate
3181
3182foreach $i (keys %translations)
3183{
3184  my $trans = $translations{$i};
3185  $trans =~ s/\|/\\|/;
3186  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3187};
3188
3189%wday =
3190    (
3191      'Sunday'    => "(\e\$BF|\e(B)",
3192      'Monday'    => "(\e\$B7n\e(B)",
3193      'Tuesday'   => "(\e\$B2P\e(B)",
3194      'Wednesday' => "(\e\$B?e\e(B)",
3195      'Thursday'  => "(\e\$BLZ\e(B)",
3196      'Friday'    => "(\e\$B6b\e(B)",
3197      'Saturday'  => "(\e\$BEZ\e(B)",
3198    );
3199
3200%month =
3201    (
3202      'January'   => "1\e\$B7n\e(B",    'February' => "2\e\$B7n\e(B",
3203      'March'     => "3\e\$B7n\e(B",    'April'    => "4\e\$B7n\e(B",
3204      'May'       => "5\e\$B7n\e(B",    'June'     => "6\e\$B7n\e(B",
3205      'July'      => "7\e\$B7n\e(B",    'August'   => "8\e\$B7n\e(B",
3206      'September' => "9\e\$B7n\e(B",    'October'  => "10\e\$B7n\e(B",
3207      'November'  => "11\e\$B7n\e(B",   'December' => "12\e\$B7n\e(B",
3208    );
3209
3210  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)\s+(.*)/);
3211  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3212    {
3213	if($foo[3]=~/at/)
3214      {
3215        @quux=split(/\s+at\s+/,$foo[3]);
3216      }
3217	else
3218      {
3219        @quux=split(/ /,$foo[3],2);
3220      };
3221      return "$quux[0]\e\$BG/\e(B$month{$foo[2]}$foo[1]\e\$BF|\e(B$wday{$foo[0]} $quux[1]";
3222    };
3223
3224#
3225# handle two different time/date formats:
3226# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3227# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3228#
3229
3230# handle nontranslated strings which ought to be translated
3231# print STDERR "$_\n" or print DEBUG "not translated $_";
3232# but then again we might not want/need to translate all strings
3233
3234  return $string;
3235
3236};
3237# Italian
3238
3239sub italian
3240{
3241  my $string = shift;
3242  return "" unless defined $string;
3243  my(%translations,%month,%wday);
3244
3245  my($i,$j);
3246  my(@dollar,@quux,@foo);
3247
3248
3249  # regexp => replacement string NOTE does not use autovars $1,$2...
3250  # charset=iso-2022-jp
3251
3252  %translations =
3253  (
3254     #'charset=iso-8859-1'                    => 'charset=iso-8859-1',
3255     'Maximal 5 Minute Incoming Traffic'      => 'Traffico massimo in entrata su 5 minuti',
3256     'Maximal 5 Minute Outgoing Traffic'      => 'Traffico massimo in uscita su 5 minuti',
3257     'the device'                             => 'Il dispositivo',
3258     'The statistics were last updated(.*)'   => 'Le statistiche l\' ultima volta sono state aggiornate $1',
3259     ' Average\)'                             => ' Media)',
3260     'Average'                                => 'Media',
3261     'Max'                                    => 'Max',
3262     'Current'                                => 'Attuale',
3263     'version'                                => 'versione',
3264     '`Daily\' Graph \((.*) Minute'           => 'Grafico giornaliero (su $1 minuti:',
3265     '`Weekly\' Graph \(30 Minute'            => 'Grafico settimanale (su 30 minuti:' ,
3266     '`Monthly\' Graph \(2 Hour'              => 'Grafico mensile  (su 2 ore:',
3267     '`Yearly\' Graph \(1 Day'                => 'Grafico annuale (su 1 giorno:',
3268     'Incoming Traffic in (\S+) per Second'   => 'Traffico in ingresso in $1 per Secondo',
3269     'Outgoing Traffic in (\S+) per Second'   => 'Traffico in uscita in $1 per Secondo',
3270     'Incoming Traffic in (\S+) per Minute'   => 'Traffico in ingresso in $1 per Minuto',
3271     'Outgoing Traffic in (\S+) per Minute'   => 'Traffico in uscita $1 per Minuto',
3272     'Incoming Traffic in (\S+) per Hour'     => 'Traffico in ingresso $1 per Ora',
3273     'Outgoing Traffic in (\S+) per Hour'     => 'Traffico in uscita $1 per Ora',
3274     'at which time (.*) had been up for(.*)' => '$1 &eacute attivo da $2',
3275     '(\S+) per minute'                       => '$1 per Minuto',
3276     '(\S+) per hour'                         => '$1 per Ora',
3277     '(.+)/s$'                                => '$1/s',
3278     # '(.+)/min'                             => '$1/min',
3279     '(.+)/h$'                                => '$1/ora',
3280     # '([kMG]?)([bB])/s'                     => '\$1\$2/s',
3281     # '([kMG]?)([bB])/min'                   => '\$1\$2/min',
3282     # '([kMG]?)([bB])/h'                     => '$1$2/t',
3283     # 'Bits'                                 => 'Bits',
3284     # 'Bytes'                                => 'Bytes'
3285     'In'                                     => 'Ingresso',
3286     'Out'                                    => 'Uscita',
3287     'Percentage'                             => 'Percentuale',
3288     'Ported to OpenVMS Alpha by'             => 'Ported su OpenVMS Alpha da',
3289     'Ported to WindowsNT by'                 => 'Ported su WindowsNT da',
3290     'and'                                    => 'e',
3291     '^GREEN'                                 => 'VERDE',
3292     'BLUE'                                   => 'BLU',
3293     'DARK GREEN'                             => 'VERDE SCURO',
3294     #'MAGENTA'                                => 'MAGENTA',
3295     #'AMBER'                                  => 'AMBRA'
3296  );
3297
3298# maybe expansions with replacement of whitespace would be more appropriate
3299
3300foreach $i (keys %translations)
3301{
3302  my $trans = $translations{$i};
3303  $trans =~ s/\|/\|/;
3304  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3305};
3306
3307%wday =
3308    (
3309      'Sunday'    => 'Domenica',	'Sun' => 'Dom',
3310      'Monday'    => 'Lunedi',		'Mon' => 'Lun',
3311      'Tuesday'   => 'Martedi',		'Tue' => 'Mar',
3312      'Wednesday' => 'Mercoledi',	'Wed' => 'Mer',
3313      'Thursday'  => 'Giovedi',		'Thu' => 'Gio',
3314      'Friday'    => 'Venerdi',		'Fri' => 'Ven',
3315      'Saturday'  => 'Sabato',		'Sat' => 'Sab'
3316    );
3317
3318%month =
3319    (
3320      'January'   => 'Gennaio',   'February'  => 'Febbraio' ,   'March'     => 'Marzo',
3321      'Jan'       => 'Gen',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
3322      'April'     => 'Aprile',    'May'       => 'Maggio',      'June'      => 'Giugno',
3323      'Apr'       => 'Apr',       'May'       => 'Mag',         'Jun'       => 'Giu',
3324      'July'      => 'Luglio',    'August'    => 'Agosto',      'September' => 'Settembre',
3325      'Jul'       => 'Lug',       'Aug'       => 'Ago',         'Sep'       => 'Set',
3326      'October'   => 'Ottobre',   'November'  => 'Novembre',    'December'  => 'Dicembre',
3327      'Oct'       => 'Ott',       'Nov'       => 'Nov',         'Dec'       => 'Dic'
3328    );
3329
3330  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3331  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3332    {
3333	if($foo[3]=~(/(.*)at(.*)/))
3334      {
3335        @quux=split(/at/,$foo[3]);
3336        $foo[3]=$quux[0]." alle ".$quux[1];
3337      };
3338      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
3339    };
3340
3341#
3342# handle two different time/date formats:
3343# return "$wday, $mday $month ".($year+1900)." &agrave; $hour:$min";
3344# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3345#
3346
3347# handle nontranslated strings which ought to be translated
3348# print STDERR "$_\n" or print DEBUG "not translated $_";
3349# but then again we might not want/need to translate all strings
3350
3351   return $string;
3352
3353};
3354
3355
3356# Korean
3357
3358sub korean
3359{
3360  my $string = shift;
3361return "" unless defined $string;
3362  my(%translations,%month,%wday);
3363
3364  my($i,$j);
3365  my(@dollar,@quux,@foo);
3366
3367
3368  # regexp => replacement string NOTE does not use autovars $1,$2...
3369  # charset=iso-2022-jp
3370
3371  %translations =
3372  (
3373     'iso-8859-1'                             => 'euc-kr',
3374     'Maximal 5 Minute Incoming Traffic'      => '5�а� �ִ� ����',
3375     'Maximal 5 Minute Outgoing Traffic'      => '5�а� �ִ� �۽�',
3376     'the device'                             => '��ġ',
3377     'The statistics were last updated(.*)'   => '���� ���� �Ͻ�: $1',
3378     ' Average\)'                             => ' ��հ� ����)',
3379     'Average'                                => '���',
3380     'Max'                                    => '�ִ�',
3381     'Current'                                => '����',
3382     'version'                                => '����',
3383     '`Daily\' Graph \((.*) Minute'           => '�ϰ� �׷��� ($1 �� ����',
3384     '`Weekly\' Graph \(30 Minute'            => '�ְ� �׷��� (30 �� ����' ,
3385     '`Monthly\' Graph \(2 Hour'              => '���� �׷��� (2 �ð� ����',
3386     '`Yearly\' Graph \(1 Day'                => '���� �׷��� (1 �� ����',
3387     'Incoming Traffic in (\S+) per Second'   => '�ʴ� ���ŵ� Ʈ���� ($1)',
3388     'Outgoing Traffic in (\S+) per Second'   => '�ʴ� �۽ŵ� Ʈ���� ($1)',
3389     'at which time (.*) had been up for(.*)' => '$1�� ���� �ð�: $2',
3390     '([kMG]?)([bB])/s'                       => '$1$2/��',
3391     '([kMG]?)([bB])/min'                     => '$1$2/��',
3392     '([kMG]?)([bB])/h'                       => '$1$2/��',
3393     'Bits'                                   => '��Ʈ',
3394     'Bytes'                                  => '����Ʈ',
3395     'In'                                     => '����',
3396     'Out'                                    => '�۽�',
3397     'Percentage'                             => '�ۼ�Ʈ',
3398     'Ported to OpenVMS Alpha by'             => 'OpenVMS Alpha ����',
3399     'Ported to WindowsNT by'                 => 'WindowsNT ����',
3400     'and'                                    => '��',
3401     '^GREEN'                                 => '���',
3402     'BLUE'                                   => 'û��',
3403     'DARK GREEN'                             => '���ѳ��',
3404     'MAGENTA'                                => '��ȫ��',
3405     'AMBER'                                  => '��Ȳ��'
3406  );
3407
3408# maybe expansions with replacement of whitespace would be more appropriate
3409
3410foreach $i (keys %translations)
3411{
3412  my $trans = $translations{$i};
3413  $trans =~ s/\|/\|/;
3414  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3415};
3416
3417%wday =
3418    (
3419      'Sunday'    => '�Ͽ���',    'Sun' => '��',
3420      'Monday'    => '������',    'Mon' => '��',
3421      'Tuesday'   => 'ȭ����',    'Tue' => 'ȭ',
3422      'Wednesday' => '������',    'Wed' => '��',
3423      'Thursday'  => '�����',    'Thu' => '��',
3424      'Friday'    => '�ݿ���',    'Fri' => '��',
3425      'Saturday'  => '�����',    'Sat' => '��'
3426
3427    );
3428
3429%month =
3430    (
3431      'January'   => '1��',  'February'  => '2��' ,  'March'     => '3��',
3432      'Jan'       => '1��',  'Feb'       => '2��',   'Mar'       => '3��',
3433      'April'     => '4��',  'May'       => '5��',   'June'      => '6��',
3434      'Apr'       => '4��',  'May'       => '5��',   'Jun'       => '6��',
3435      'July'      => '7��',  'August'    => '8��',   'September' => '9��',
3436      'Jul'       => '7��',  'Aug'       => '8��',   'Sep'       => '9��',
3437      'October'   => '10��', 'November'  => '11��',  'December'  => '12��',
3438      'Oct'       => '10��', 'Nov'       => '11��',  'Dec'       => '12��'
3439    );
3440
3441  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3442  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3443  {
3444    if($foo[3]=~(/(.*)at(.*)/))
3445    {
3446      @quux=split(/at/,$foo[3]);
3447#      $foo[3]=$quux[0]." kl.".$quux[1];
3448      $foo[3]=$quux[0];
3449      $foo[4]=$quux[1];
3450    };
3451    return $foo[3]."�� $month{$foo[2]} $foo[1]�� $wday{$foo[0]} $foo[4]";
3452#    return "$wday{$foo[0]} den $foo[1]. $month{$foo[2]} $foo[3]";
3453
3454  };
3455
3456#
3457# handle two different time/date formats:
3458# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3459# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3460#
3461
3462# handle nontranslated strings which ought to be translated
3463# print STDERR "$_\n" or print DEBUG "not translated $_";
3464# but then again we might not want/need to translate all strings
3465
3466 return $string;
3467};
3468
3469# Lithuanian
3470
3471sub lithuanian
3472{
3473  my $string = shift;
3474return "" unless defined $string;
3475  my(%translations,%month,%wday);
3476
3477  my($i,$j);
3478  my(@dollar,@quux,@foo);
3479
3480
3481  # regexp => replacement string NOTE does not use autovars $1,$2...
3482  # charset=iso-2022-jp
3483
3484  %translations =
3485  (
3486     'iso-8859-1'                             => 'windows-1257',
3487     'Maximal 5 Minute Incoming Traffic'      => 'Maksimalus 5 minu�i� �einantis srautas',
3488     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimalus 5 minu�i� i�einantis srautas',
3489     'the device'                             => '�renginys',
3490     'The statistics were last updated(.*)'   => 'Statistika atnaujinta$1',
3491     ' Average\)'                             => ' vidurkis)',
3492     'Average'                                => 'vid',
3493     'Max'                                    => 'max',
3494     'Current'                                => 'dabar',
3495     'version'                                => 'versija',
3496     '`Daily\' Graph \((.*) Minute'           => '\'dienos\' grafikas ($1 min.',
3497     '`Weekly\' Graph \(30 Minute'            => '\'savait�s\' grafikas (30 min.' ,
3498     '`Monthly\' Graph \(2 Hour'              => '\'m�nesio\' grafikas (2 val.',
3499     '`Yearly\' Graph \(1 Day'                => '\'met�\' grafikas (1 d.',
3500     'Incoming Traffic in (\S+) per Second'   => '�einantis srautas, $1 per sekund�',
3501     'Outgoing Traffic in (\S+) per Second'   => 'I�einantis srautas i $1 per sekund�',
3502     'at which time (.*) had been up for(.*)' => '$1 veikia jau $2',
3503     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3504     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3505     # '([kMG]?)([bB])/h'                       => '$1$2/h',
3506     'Bits'                                => 'bitai',
3507     'Bytes'                              => 'baitai',
3508     'In'                                     => '�',
3509     'Out'                                    => 'i�',
3510     'Percentage'                             => 'procentai',
3511     'Ported to OpenVMS Alpha by'             => 'Perk�l� � OpenVMS Alpha:',
3512     'Ported to WindowsNT by'                 => 'Perk�l� � WindowsNT:',
3513     'and'                                    => 'ir',
3514     '^GREEN'                                 => '�ALIA ',
3515     'BLUE'                                   => 'M�LYNA ',
3516     'DARK GREEN'                             => 'TAMSIAI �ALIA ',
3517     'MAGENTA'                                => 'RAUDONA ',
3518     'AMBER'                                  => 'GINTARIN� '
3519  );
3520
3521# maybe expansions with replacement of whitespace would be more appropriate
3522
3523foreach $i (keys %translations)
3524{
3525  my $trans = $translations{$i};
3526  $trans =~ s/\|/\|/;
3527  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3528};
3529
3530%wday =
3531    (
3532      'Sunday'    => 'sekmadien�',       'Sun' => 'Sek',
3533      'Monday'    => 'pirmadien�',       'Mon' => 'Pir',
3534      'Tuesday'   => 'antradien�',       'Tue' => 'Ant',
3535      'Wednesday' => 'tre�iadien�',      'Wed' => 'Tre',
3536      'Thursday'  => 'ketvirtadien�',    'Thu' => 'Ket',
3537      'Friday'    => 'penktadien�',      'Fri' => 'Pen',
3538      'Saturday'  => '�e�tadien�',       'Sat' => '�e�'
3539
3540    );
3541
3542%month =
3543    (
3544      'January'   => 'sausio',    'February'  => 'vasario' ,    'March'     => 'kovo',
3545      'Jan'       => 'Sau',       'Feb'       => 'Vas',         'Mar'       => 'Kov',
3546      'April'     => 'baland�io', 'May'       => 'gegu��s',     'June'      => 'bir�elio',
3547      'Apr'       => 'Bal',       'May'       => 'Geg',         'Jun'       => 'Bir',
3548      'July'      => 'liepos',    'August'    => 'rugpj��io',   'September' => 'rugs�jo',
3549      'Jul'       => 'Lie',       'Aug'       => 'Rgp',         'Sep'       => 'Rgs',
3550      'October'   => 'spalio',    'November'  => 'lapkri�io',   'December'  => 'gruod�io',
3551      'Oct'       => 'Spa',       'Nov'       => 'Lap',         'Dec'       => 'Gru'
3552    );
3553
3554  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3555  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3556    {
3557	if($foo[3]=~(/(.*)at(.*)/))
3558      {
3559        @quux=split(/at/,$foo[3]);
3560        $foo[3]=$quux[1].", ".$quux[0];
3561      };
3562      return "$foo[3] $month{$foo[2]} $foo[1], $wday{$foo[0]}" ;
3563    };
3564
3565#
3566# handle two different time/date formats:
3567# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3568# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3569#
3570
3571# handle nontranslated strings which ought to be translated
3572# print STDERR "$_\n" or print DEBUG "not translated $_";
3573# but then again we might not want/need to translate all strings
3574
3575  return $string;
3576
3577  };
3578# Macedonian
3579
3580sub macedonian
3581{
3582  my $string = shift;
3583return "" unless defined $string;
3584  my(%translations,%month,%wday);
3585
3586  my($i,$j);
3587  my(@dollar,@quux,@foo);
3588
3589
3590  # regexp => replacement string NOTE does not use autovars $1,$2...
3591  # charset=iso-2022-jp
3592
3593  %translations =
3594  (
3595     #'charset=iso-8859-1'                     => 'charset=windows-1251',
3596     'Maximal 5 Minute Incoming Traffic'      => '���������� 5 ������� ������ ��������',
3597     'Maximal 5 Minute Outgoing Traffic'      => '���������� 5 ������� ������� ��������',
3598     'the device'                             => '����',
3599     'The statistics were last updated(.*)'   => '�������� ��������� �� ����������$1',
3600     ' Average\)'                             => ' ������)',
3601     'Average'                                => '��������',
3602     'Max'                                    => '��������',
3603     'Current'                                => '�o����',
3604     'version'                                => '������',
3605     '`Daily\' Graph \((.*) Minute'           => '`������\' ���� ($1 ������',
3606     '`Weekly\' Graph \(30 Minute'            => '`�������\' ���� (30 ������' ,
3607     '`Monthly\' Graph \(2 Hour'              => '`�������\' ���� (2 ����',
3608     '`Yearly\' Graph \(1 Day'                => '`�������\' ���� (1 ���',
3609     'Incoming Traffic in (\S+) per Second'   => '������ �������� - $1 �� �������',
3610     'Outgoing Traffic in (\S+) per Second'   => '������� �������� - $1 �� �������',
3611     'at which time (.*) had been up for(.*)' => '����� �� ����������� ������� �� �������� $1 : $2',
3612     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3613     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3614     '([kMG]?)([bB])/h'                       => '$1$2/h',
3615     # 'Bits'                                => '������',
3616     # 'Bytes'                              => '����'
3617     'In'                                     => '����',
3618     'Out'                                    => '�����',
3619     'Percentage'                             => '�������',
3620     'Ported to OpenVMS Alpha by'             => '��������� �� OpenVMS ��',
3621     'Ported to WindowsNT by'                 => '��������� �� WindowsNT ��',
3622     'and'                                    => '�',
3623     '^GREEN'                                  => '������',
3624     'BLUE'                                   => '����',
3625     'DARK GREEN'                             => '����� ������',
3626     'MAGENTA'                                => '���������',
3627     'AMBER'                                  => '�����������'
3628  );
3629
3630# maybe expansions with replacement of whitespace would be more appropriate
3631
3632foreach $i (keys %translations)
3633{
3634  my $trans = $translations{$i};
3635  $trans =~ s/\|/\|/;
3636  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3637};
3638
3639%wday =
3640    (
3641      'Sunday'    => '������',  		'Sun' => '���',
3642      'Monday'    => '����������',        'Mon' => '���',
3643      'Tuesday'   => '�������', 	      'Tue' => '���',
3644      'Wednesday' => '�����',  	      'Wed' => '���',
3645      'Thursday'  => '��������',          'Thu' => '���',
3646      'Friday'    => '�����', 	      'Fri' => '���',
3647      'Saturday'  => '������', 		'Sat' => '���'
3648
3649    );
3650
3651%month =
3652    (
3653      'January'   => '������',    'February'  => '�������' ,    'March'     => '����',
3654      'Jan'       => '���',       'Feb'       => '���',         'Mar'       => '���',
3655      'April'     => '�����',     'May'       => '��',         'June'      => '����',
3656      'Apr'       => '���',       'May'       => '��',         'Jun'       => '���',
3657      'July'      => '����',      'August'    => '������',      'September' => '���������',
3658      'Jul'       => '���',       'Aug'       => '���',         'Sep'       => '���',
3659      'October'   => '��������',  'November'  => '�������',     'December'  => '��������',
3660      'Oct'       => '���',       'Nov'       => '���',         'Dec'       => '���'
3661    );
3662
3663  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3664  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3665    {
3666	if($foo[3]=~(/(.*)at(.*)/))
3667      {
3668        @quux=split(/at/,$foo[3]);
3669        $foo[3]=$quux[0]." kl.".$quux[1];
3670      };
3671      return "$wday{$foo[0]} ��� $foo[1]. $month{$foo[2]} $foo[3]";
3672    };
3673
3674#
3675# handle two different time/date formats:
3676# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3677# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3678#
3679
3680# handle nontranslated strings which ought to be translated
3681# print STDERR "$_\n" or print DEBUG "not translated $_";
3682# but then again we might not want/need to translate all strings
3683
3684  return $string;
3685
3686  };# Malaysian/Malay
3687
3688sub malay
3689{
3690  my $string = shift;
3691return "" unless defined $string;
3692  my(%translations,%month,%wday);
3693
3694  my($i,$j);
3695  my(@dollar,@quux,@foo);
3696
3697
3698  # regexp => replacement string NOTE does not use autovars $1,$2...
3699  # charset=iso-2022-jp
3700
3701  %translations =
3702  (
3703     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
3704     'Maximal 5 Minute Incoming Traffic'      => 'Maksimum 5 Minit Trafik Masuk',
3705     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimum 5 Minit Trafik Keluar',
3706     'the device'                             => 'alatan',
3707     'The statistics were last updated(.*)'   => 'Statistik ini kali terakhir dikemaskini pada $1',
3708     ' Average\)'                             => ' secara purata)',
3709     'Average'                                => 'Purata',
3710     'Max'                                    => 'Maksimum',
3711     'Current'                                => 'Kini',
3712     'version'                                => 'versi',
3713     '`Daily\' Graph \((.*) Minute'           => 'Graf `Harian\' ($1 minit :',
3714     '`Weekly\' Graph \(30 Minute'            => 'Graf `Mingguan\' (30 minit :' ,
3715     '`Monthly\' Graph \(2 Hour'              => 'Graf `Bulanan\' (2 jam :',
3716     '`Yearly\' Graph \(1 Day'                => 'Graf `Tahunan\' (1 hari :',
3717     'Incoming Traffic in (\S+) per Second'   => 'Trafik Masuk $1 per saat',
3718     'Outgoing Traffic in (\S+) per Second'   => 'Traffic Keluar $1 per saat',
3719     'at which time (.*) had been up for(.*)' => 'Sehingga waktu $1 ia telah aktif selama $2',
3720     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3721     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3722     '([kMG]?)([bB])/h'                       => '$1$2/j',
3723     # 'Bits'                                => 'Bits',
3724     # 'Bytes'                              => 'Bytes'
3725     'In'                                     => 'Masuk',
3726     'Out'                                    => 'Keluar',
3727     'Percentage'                             => 'Peratus',
3728     'Ported to OpenVMS Alpha by'             => 'Pengubahsuaian ke  OpenVMS Alpha oleh',
3729     'Ported to WindowsNT by'                 => 'Pengubahsuaian ke WindowsNT oleh',
3730     'and'                                    => 'dan',
3731     '^GREEN'                                 => 'HIJAU',
3732     'BLUE'                                   => 'BIRU',
3733     'DARK GREEN'                             => 'HIJAU GELAP',
3734     'MAGENTA'                                => 'MAGENTA',
3735     'AMBER'                                  => 'AMBAR'
3736  );
3737
3738# maybe expansions with replacement of whitespace would be more appropriate
3739
3740foreach $i (keys %translations)
3741{
3742  my $trans = $translations{$i};
3743  $trans =~ s/\|/\|/;
3744  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3745};
3746
3747%wday =
3748    (
3749      'Sunday'    => 'Ahad',    'Sun' => 'Aha',
3750      'Monday'    => 'Isnin',   'Mon' => 'Isn',
3751      'Tuesday'   => 'Selasa',  'Tue' => 'Sel',
3752      'Wednesday' => 'Rabu',    'Wed' => 'Rab',
3753      'Thursday'  => 'Khamis',  'Thu' => 'Kha',
3754      'Friday'    => 'Jumaat',  'Fri' => 'Jum',
3755      'Saturday'  => 'Sabtu',   'Sat' => 'Sab'
3756    );
3757
3758%month =
3759    (
3760      'January'   => 'Januari',   'February'  => 'Februari' ,   'March'     => 'Mac',
3761      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mac',
3762      'April'     => 'April',     'May'       => 'Mei',         'June'      => 'Jun',
3763      'Apr'       => 'Apr',       'May'       => 'Mei',         'Jun'       => 'Jun',
3764      'July'      => 'Julai',     'August'    => 'Ogos',        'September' => 'September',
3765      'Jul'       => 'Jul',       'Aug'       => 'Ogo',         'Sep'       => 'Sep',
3766      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Disember',
3767      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Dis'
3768    );
3769
3770  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3771  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3772    {
3773	if($foo[3]=~(/(.*)at(.*)/))
3774      {
3775        @quux=split(/at/,$foo[3]);
3776        $foo[3]=$quux[0]." pada ".$quux[1];
3777      };
3778	return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
3779    };
3780
3781#
3782# handle two different time/date formats:
3783# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3784# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3785#
3786
3787# handle nontranslated strings which ought to be translated
3788# print STDERR "$_\n" or print DEBUG "not translated $_";
3789# but then again we might not want/need to translate all strings
3790
3791  return $string;
3792
3793};
3794# Norwegian
3795
3796sub norwegian
3797{
3798  my $string = shift;
3799return "" unless defined $string;
3800  my(%translations,%month,%wday);
3801
3802  my($i,$j);
3803  my(@dollar,@quux,@foo);
3804
3805
3806  # regexp => replacement string NOTE does not use autovars $1,$2...
3807  # charset=iso-2022-jp
3808
3809  %translations =
3810  (
3811     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
3812     'Maximal 5 Minute Incoming Traffic'      => 'Maksimal inng&aring;ende trafikk i 5 minutter',
3813     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimal utg&aring;ende trafikk i 5 minutter',
3814     'the device'                             => 'enhetden',
3815     'The statistics were last updated(.*)'   => 'Statistikken ble sist oppdatert $1',
3816     ' Average\)'                             => ' gjennomsnitt)',
3817     'Average'                                => 'Gjennomsnitt',
3818     'Max'                                    => 'Max',
3819     'Current'                                => 'N&aring;',
3820     'version'                                => 'versjon',
3821     '`Daily\' Graph \((.*) Minute'           => '`Daglig\' graf ($1 minutts',
3822     '`Weekly\' Graph \(30 Minute'            => '`Ukentlig\' graf (30 minutts' ,
3823     '`Monthly\' Graph \(2 Hour'              => '`M&aring;nedlig\' graf (2 times',
3824     '`Yearly\' Graph \(1 Day'                => '`&Aring;rlig\' graf (1 dags',
3825     'Incoming Traffic in (\S+) per Second'   => 'Inng&aring;ende trafikk i $1 per sekund',
3826     'Outgoing Traffic in (\S+) per Second'   => 'Utg&aring;ende trafikk i $1 per sekund',
3827     'at which time (.*) had been up for(.*)' => 'hvor $1 hadde v&aelig;rt oppe i $2',
3828     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3829     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3830     '([kMG]?)([bB])/h'                       => '$1$2/t',
3831     # 'Bits'                                => 'Bits',
3832     # 'Bytes'                              => 'Bytes'
3833     'In'                                     => 'Inn',
3834     'Out'                                    => 'Ut',
3835     'Percentage'                             => 'Prosent',
3836     'Ported to OpenVMS Alpha by'             => 'Port til OpenVMS av',
3837     'Ported to WindowsNT by'                 => 'Port til WindowsNT av',
3838     'and'                                    => 'og',
3839     '^GREEN'                                  => 'GR&Oslash;NN',
3840     'BLUE'                                   => 'BL&Aring;',
3841     'DARK GREEN'                             => 'M&Oslash;RKEGR&Oslash;NN',
3842     'MAGENTA'                                => 'MAGENTA',
3843     'AMBER'                                  => 'GUL'
3844  );
3845
3846# maybe expansions with replacement of whitespace would be more appropriate
3847
3848foreach $i (keys %translations)
3849{
3850  my $trans = $translations{$i};
3851  $trans =~ s/\|/\|/;
3852  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3853};
3854
3855%wday =
3856    (
3857      'Sunday'    => 'S&oslash;ndag',    'Sun' => 'S&oslash;n',
3858      'Monday'    => 'Mandag',           'Mon' => 'Man',
3859      'Tuesday'   => 'Tirsdag',          'Tue' => 'Tir',
3860      'Wednesday' => 'Onsdag',           'Wed' => 'Ons',
3861      'Thursday'  => 'Torsdag',          'Thu' => 'Tor',
3862      'Friday'    => 'Fredag',           'Fri' => 'Fre',
3863      'Saturday'  => 'L&oslash;rdag',    'Sat' => 'L&oslash;r'
3864
3865    );
3866
3867%month =
3868    (
3869      'January'   => 'Januar',    'February'  => 'Februar' ,    'March'     => 'Mars',
3870      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
3871      'April'     => 'April',     'May'       => 'Mai',         'June'      => 'Juni',
3872      'Apr'       => 'Apr',       'May'       => 'Mai',         'Jun'       => 'Jun',
3873      'July'      => 'Juli',      'August'    => 'August',      'September' => 'September',
3874      'Jul'       => 'Jul',       'Aug'       => 'Aug',         'Sep'       => 'Sep',
3875      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Desember',
3876      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Des'
3877    );
3878
3879  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3880  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3881    {
3882	if($foo[3]=~(/(.*)at(.*)/))
3883      {
3884        @quux=split(/at/,$foo[3]);
3885        $foo[3]=$quux[0]." kl.".$quux[1];
3886      };
3887      return "$wday{$foo[0]} den $foo[1]. $month{$foo[2]} $foo[3]";
3888    };
3889
3890#
3891# handle two different time/date formats:
3892# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
3893# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
3894#
3895
3896# handle nontranslated strings which ought to be translated
3897# print STDERR "$_\n" or print DEBUG "not translated $_";
3898# but then again we might not want/need to translate all strings
3899
3900  return $string;
3901
3902  };
3903
3904sub polish
3905{
3906  my $string = shift;
3907return "" unless defined $string;
3908  my(%translations,%month,%wday);
3909
3910  my($i,$j);
3911  my(@dollar,@quux,@foo);
3912
3913
3914  # regexp => replacement string NOTE does not use autovars $1,$2...
3915  # charset=iso-2022-jp
3916
3917
3918  %translations =
3919  (
3920     'iso-8859-1'                             => 'iso-8859-2',
3921     'Maximal 5 Minute Incoming Traffic'      => 'Maksymalny ruch przychodz�cy w ci�gu 5 minut',
3922     'Maximal 5 Minute Outgoing Traffic'      => 'Maksymalny ruch wychodz�cy w ci�gu 5 minut',
3923     'the device'                             => 'urz�dzenie',
3924     'The statistics were last updated(.*)'   => 'Ostatnie uaktualnienie statystyki $1',
3925     ' Average\)'                             => ' �rednia)',
3926     'Average'                                => '�rednio',
3927     'Max'                                    => 'Maksymalnie',
3928     'Current'                                => 'Aktualnie',
3929     'version'                                => 'wersja',
3930     '`Daily\' Graph \((.*) Minute'           => '`Dzienny\' Graf w ci�gu ($1 Minut/y - ',
3931     '`Weekly\' Graph \(30 Minute'            => '`Tygodniowy\' Graf w ci�gu (30 minut - ' ,
3932     '`Monthly\' Graph \(2 Hour'              => '`Miesi�czny\' Graf w ci�gu (2 Godzin - ',
3933     '`Yearly\' Graph \(1 Day'                => '`Roczny\' Graf w  ci�gu (1 Dnia - ',
3934     'Incoming Traffic in (\S+) per Second'   => 'Ruch przychodz�cy - $1 na sekund�',
3935     'Outgoing Traffic in (\S+) per Second'   => 'Ruch wychodz�cy - $1 na sekund�',
3936     'at which time (.*) had been up for(.*)' => 'gdy $1 by� w��czony przez $2',
3937     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
3938     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
3939     '([kMG]?)([bB])/h'                       => '$1$2/g',
3940     'Bits'                                => 'Bity',
3941     'Bytes'                              => 'Bajty',
3942     'In'                                     => 'Do',
3943     'Out'                                    => 'Z',
3944     'Percentage'                             => 'Procent',
3945     'Ported to OpenVMS Alpha by'             => 'Port dla OpenVMS Alpha dzi�ki',
3946     'Ported to WindowsNT by'                 => 'Port dla WindowsNT dzi�ki',
3947     'and'                                    => 'i',
3948     '^GREEN'                                  => 'ZIELONY',
3949     'BLUE'                                   => 'NIEBIESKI',
3950     'DARK GREEN'                             => 'CIEMNO ZIELONY',
3951     'MAGENTA'                                => 'KARMAZYNOWY',
3952     'AMBER'                                  => 'BURSZTYNOWY'
3953  );
3954
3955# maybe expansions with replacement of whitespace would be more appropriate
3956
3957foreach $i (keys %translations)
3958{
3959  my $trans = $translations{$i};
3960  $trans =~ s/\|/\|/;
3961  return $string if eval " \$string =~ s|\${i}|${trans}| ";
3962};
3963
3964%wday =
3965    (
3966      'Sunday'    => 'Niedziela',     'Sun' => 'Nie',
3967      'Monday'    => 'Poniedzia�ek',  'Mon' => 'Pon',
3968      'Tuesday'   => 'Wtorek',        'Tue' => 'Wto',
3969      'Wednesday' => '�roda',         'Wed' => '�ro',
3970      'Thursday'  => 'Czwartek',      'Thu' => 'Czw',
3971      'Friday'    => 'Pi�tek',        'Fri' => 'Pi�',
3972      'Saturday'  => 'Sobota',        'Sat' => 'Sob'
3973
3974    );
3975
3976%month =
3977    (
3978      'January'   => 'Stycznia',     'February'  => 'Lutego',      'March'     => 'Marca',
3979      'Jan'       => 'Sty',          'Feb'       => 'Lut',         'Mar'       => 'Mar',
3980      'April'     => 'Kwietnia',     'May'       => 'Maja',        'June'      => 'Czerwca',
3981      'Apr'       => 'Kwi',          'May'       => 'Maj',         'Jun'       => 'Cze',
3982      'July'      => 'Lipca',        'August'    => 'Sierpnia',    'September' => 'Wrze�nia',
3983      'Jul'       => 'Lip',          'Aug'       => 'Sie',         'Sep'       => 'Wrz',
3984      'October'   => 'Pa�dziernika', 'November'  => 'Listopada',   'December'  => 'Grudnia',
3985      'Oct'       => 'Pa�',          'Nov'       => 'Lis',         'Dec'       => 'Gru'
3986    );
3987
3988  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
3989  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
3990    {
3991	if($foo[3]=~(/(.*)at(.*)/))
3992      {
3993        @quux=split(/at/,$foo[3]);
3994        $foo[3]=$quux[0]." o godzinie".$quux[1];
3995      };
3996      return "$wday{$foo[0]} dzie� $foo[1]. $month{$foo[2]} $foo[3]";
3997    };
3998
3999#
4000# handle two different time/date formats:
4001# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4002# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4003#
4004
4005# handle nontranslated strings which ought to be translated
4006# print STDERR "$_\n" or print DEBUG "not translated $_";
4007# but then again we might not want/need to translate all strings
4008
4009  return $string;
4010
4011};
4012# Portugu�s
4013
4014sub portuguese
4015{
4016  my $string = shift;
4017return "" unless defined $string;
4018  my(%translations,%month,%wday);
4019
4020  my($i,$j);
4021  my(@dollar,@quux,@foo);
4022
4023
4024  # regexp => replacement string NOTE does not use autovars $1,$2...
4025  # charset=iso-2022-jp
4026
4027  %translations =
4028  (
4029     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
4030     'Maximal 5 Minute Incoming Traffic'      => 'Tr&aacute;fego Maximal Recebido em 5 minutos',
4031     'Maximal 5 Minute Outgoing Traffic'      => 'Tr&aacute;fego Maximal Enviado em 5 minutos',
4032     'the device'                             => 'o dispositivo',
4033     'The statistics were last updated(.*)'   => 'As Estat&iacute;sticas foram actualizadas pela &uacute;ltima vez na $1',
4034     ' Average\)</B><BR>'                     => '',
4035     'Average'                                => 'M&eacute;dia',
4036     'Max'                                    => 'Max.',
4037     'Current'                                => 'Actual',
4038     'version'                                => 'Vers&atilde;o',
4039     '`Daily\' Graph \((.*) Minute'           => 'Gr&aacute;fico Di&aacute;rio (em intervalos de $1 Minutos)</B><BR>',
4040     '`Weekly\' Graph \(30 Minute'            => 'Gr&aacute;fico Semanal (em intervalos de 30 Minutos)' ,
4041     '`Monthly\' Graph \(2 Hour'              => 'Gr&aacute;fico Mensal (em intervalos de 2 horas)',
4042     '`Yearly\' Graph \(1 Day'                => 'Gr&aacute;fico Anual (em intervalos de 24 horas)',
4043     'Incoming Traffic in (\S+) per Second'   => 'Tr&aacute;fego recebido em  $1/segundo',
4044     'Outgoing Traffic in (\S+) per Second'   => 'Tr&aacute;fego enviado em $1/segundo',
4045     'Incoming Traffic in (\S+) per Minute'   => 'Tr&aacute;fego recebido em $1/minuto',
4046     'Outgoing Traffic in (\S+) per Minute'   => 'Tr&aacute;fego enviado em $1/minuto',
4047     'Incoming Traffic in (\S+) per Hour'     => 'Tr&aacute;fego recebido em $1/hora',
4048     'Outgoing Traffic in (\S+) per Hour'     => 'Tr&aacute;fego recebido em $1/hora',
4049     'at which time (.*) had been up for(.*)' => 'quando o $1, tinha um <em>uptime</em> de $2',
4050     '(\S+) per minute'			      => '$1/minuto',
4051     '(\S+) per hour'			      => '$1/hora',
4052     '(.+)/s$'                                 => '$1/s',
4053     # '(.+)/min'                     => '$1/min',
4054     '(.+)/h$'                       => '$1/h',
4055     #'([kMG]?)([bB])/s'                       => '$1$2/s',
4056     #'([kMG]?)([bB])/min'                     => '$1$2/min',
4057     #'([kMG]?)([bB])/h'                       => '$1$2/h',
4058     # 'Bits'                                => 'Bits',
4059     # 'Bytes'                               => 'Bytes'
4060     'In'                                     => 'Rec.',
4061     'Out'                                    => 'Env.',
4062     'Percentage'                             => 'Perc.',
4063     'Ported to OpenVMS Alpha by'             => 'Portado para OpenVMS Alpha por',
4064     'Ported to WindowsNT by'                 => 'Portado para WindowsNT por',
4065     'and'                                    => 'e',
4066     '^GREEN'                                 => 'VERDE',
4067     'BLUE'                                   => 'AZUL',
4068     'DARK GREEN'                             => 'VERDE ESCURO',
4069     # 'MAGENTA'                                => 'MAGENTA',
4070     # 'AMBER'                               => 'AMBAR',
4071  );
4072
4073# maybe expansions with replacement of whitespace would be more appropriate
4074
4075foreach $i (keys %translations)
4076{
4077  my $trans = $translations{$i};
4078  $trans =~ s/\|/\|/;
4079  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4080};
4081
4082%wday =
4083    (
4084      'Sunday'    => 'Domingo',     'Sun' => 'Dom',
4085      'Monday'    => 'Segunda-Feira',      'Mon' => 'Seg',
4086      'Tuesday'   => 'Ter&ccedil;a-Feira',    'Tue' => 'Ter',
4087      'Wednesday' => 'Quarta-Feira',    'Wed' => 'Qua',
4088      'Thursday'  => 'Quinta-Feira',  'Thu' => 'Qui',
4089      'Friday'    => 'Sexta-Feira',     'Fri' => 'Sex',
4090      'Saturday'  => 'S&aacute;bado',     'Sat' => 'Sab'
4091    );
4092
4093%month =
4094    (
4095      'January'   => 'Janeiro',    'February'  => 'Fevereiro' ,    'March'     => 'Mar&ccedil;o',
4096      'Jan'       => 'Jan',       'Feb'       => 'Fev',         'Mar'       => 'Mar',
4097      'April'     => 'Abril',     'May'       => 'Maio',         'June'      => 'Junho',
4098      'Apr'       => 'Abr',       'May'       => 'Mai',         'Jun'       => 'Jun',
4099      'July'      => 'Julho',      'August'    => 'Agosto',      'September' => 'Setembro',
4100      'Jul'       => 'Jul',       'Aug'       => 'Ago',         'Sep'       => 'Set',
4101      'October'   => 'Outubro',   'November'  => 'Novembro',    'December'  => 'Dezembro',
4102      'Oct'       => 'Out',       'Nov'       => 'Nov',         'Dec'       => 'Dez'
4103    );
4104
4105  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4106  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4107    {
4108	if($foo[3]=~(/(.*)at(.*)/))
4109      {
4110        @quux=split(/at/,$foo[3]);
4111        $foo[3]=$quux[0]." pelas ".$quux[1];
4112      };
4113      return "$wday{$foo[0]}, $foo[1] de $month{$foo[2]} de $foo[3]";
4114    };
4115
4116#
4117# handle two different time/date formats:
4118# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4119# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4120#
4121
4122# handle nontranslated strings which ought to be translated
4123# print STDERR "$_\n" or print DEBUG "not translated $_";
4124# but then again we might not want/need to translate all strings
4125
4126  return $string;
4127
4128};
4129
4130
4131
4132# Romanian
4133
4134sub romanian
4135{
4136  my $string = shift;
4137return "" unless defined $string;
4138  my(%translations,%month,%wday);
4139
4140  my($i,$j);
4141  my(@dollar,@quux,@foo);
4142
4143
4144  # regexp => replacement string NOTE does not use autovars $1,$2...
4145  # charset=iso-8859-2
4146
4147  %translations =
4148  (
4149     'iso-8859-1'                             => 'iso-8859-2',
4150     'Maximal 5 Minute Incoming Traffic'      => 'Traficul Maxim de intrare pe 5 Minute',
4151     'Maximal 5 Minute Outgoing Traffic'      => 'Traficul Maxim de iesire pe 5 Minute',
4152     'the device'                             => 'echipamentul',
4153     'The statistics were last updated(.*)'   => 'Ultima actualizare :$1',
4154     ' Average\)'                             => '',
4155     'Average'                                => 'Medie',
4156     'Max'                                    => 'Maxim',
4157     'Current'                                => 'Curent',
4158     'version'                                => 'versiunea',
4159     '`Daily\' Graph \((.*) Minute'           => 'Graficul \'Zilnic\' (medie pe $1 minute)',
4160     '`Weekly\' Graph \(30 Minute'            => 'Graficul \'S�pt�m�nal\' (medie pe 30 de minute)' ,
4161     '`Monthly\' Graph \(2 Hour'              => 'Graficul \'Lunar\' (medie pe 2 ore)',
4162     '`Yearly\' Graph \(1 Day'                => 'Graficul \'Anual\' (medie pe 1 zi)',
4163     'Incoming Traffic in (\S+) per Second'   => 'Traficul de intrare [$1/secund�]',
4164     'Outgoing Traffic in (\S+) per Second'   => 'Traficul de ie�ire [$1/secund�]',
4165     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+)</strong>' => 'c�nd <strong>$1</strong> func�iona de <strong>$2</strong>',
4166     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+) day, (\S+)</strong>' => 'c�nd <strong>$1</strong> func�iona de <strong>$2 zi, $3</strong>',
4167     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+) days, (\S+)</strong>' => 'c�nd <strong>$1</strong> func�iona de <strong>$2 zile, $3</strong>',
4168     #'(.+)/s$'                               => '$1/s',
4169     #'(.+)/min'                              => '$1/min',
4170     '(.+)/h$'                                => '$1/ora',
4171     #'([kMG]?)([bB])/s'                      => '$1$2/s',
4172     #'([kMG]?)([bB])/min'                    => '$1$2/min',
4173     '([kMG]?)([bB])/h'                       => '$1$2/ora',
4174     'Bits'                                   => 'Bi�i',
4175     'Bytes'                                  => 'Octe�i',
4176     'In'                                     => 'int',
4177     'Out'                                    => 'ie�',
4178     'Percentage'                             => 'procent',
4179     'Ported to OpenVMS Alpha by'             => 'Translatat sub OpenVMS de',
4180     'Ported to WindowsNT by'                 => 'Translatat sub WindowsNT de',
4181     'and'                                    => '�i',
4182     '^GREEN'                                 => 'VERDE',
4183     'BLUE'                                   => 'ALBASTRU',
4184     'DARK GREEN'                             => 'VERDE �NCHIS',
4185     'MAGENTA'                                => 'PURPURIU',
4186     'AMBER'                                  => 'GALBEN',
4187  );
4188
4189# maybe expansions with replacement of whitespace would be more appropriate
4190
4191foreach $i (keys %translations)
4192{
4193  my $trans = $translations{$i};
4194  $trans =~ s/\|/\|/;
4195  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4196};
4197
4198%wday =
4199    (
4200      'Sunday'    => 'duminic�',     'Sun' => 'lu',
4201      'Monday'    => 'luni',         'Mon' => 'ma',
4202      'Tuesday'   => 'mar�i',        'Tue' => 'mi',
4203      'Wednesday' => 'miercuri',     'Wed' => 'jo',
4204      'Thursday'  => 'joi',          'Thu' => 'vi',
4205      'Friday'    => 'vineri',       'Fri' => 's�',
4206      'Saturday'  => 's�mb�t�',      'Sat' => 'du'
4207    );
4208
4209%month =
4210    (
4211      'January'   => 'ianuarie',    'February'  => 'februarie' ,    'March'     => 'martie',
4212      'Jan'       => 'ian',         'Feb'       => 'feb',           'Mar'       => 'mar',
4213      'April'     => 'aprilie',     'May'       => 'mai',           'June'      => 'iunie',
4214      'Apr'       => 'apr',         'May'       => 'mai',           'Jun'       => 'iun',
4215      'July'      => 'iulie',       'August'    => 'august',        'September' => 'septembrie',
4216      'Jul'       => 'iul',         'Aug'       => 'aug',           'Sep'       => 'sep',
4217      'October'   => 'octombrie',   'November'  => 'noiembrie',     'December'  => 'decembrie',
4218      'Oct'       => 'oct',         'Nov'       => 'noi',           'Dec'       => 'dec'
4219    );
4220
4221  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4222  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4223    {
4224	if($foo[3]=~(/(.*)at(.*)/))
4225      {
4226        @quux=split(/at/,$foo[3]);
4227        $foo[3]=$quux[0].", ora ".$quux[1];
4228      };
4229      return "$wday{$foo[0]}, $foo[1] $month{$foo[2]} $foo[3]";
4230    };
4231
4232#
4233# handle two different time/date formats:
4234# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4235# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4236#
4237
4238# handle nontranslated strings which ought to be translated
4239# print STDERR "$_\n" or print DEBUG "not translated $_";
4240# but then again we might not want/need to translate all strings
4241
4242  return $string;
4243
4244};
4245
4246
4247# Russian
4248
4249sub russian
4250{
4251  my $string = shift;
4252return "" unless defined $string;
4253  my(%translations,%month,%wday);
4254
4255  my($i,$j);
4256  my(@dollar,@quux,@foo);
4257
4258
4259  # regexp => replacement string NOTE does not use autovars $1,$2...
4260  # charset=iso-2022-jp
4261
4262  %translations =
4263  (
4264     'iso-8859-1'                             => 'koi8-r',
4265     'Maximal 5 Minute Incoming Traffic'      => '������������ �������� ������ �� 5 �����',
4266     'Maximal 5 Minute Outgoing Traffic'      => '������������ ��������� ������ �� 5 �����',
4267     'the device'                             => '����������',
4268     'The statistics were last updated(.*)'   => '��������� ���������� ����������: $1',
4269     ' Average\)'                             => ')',
4270     'Average'                                => '�������',
4271     'Max'                                    => '����.',
4272     'Current'                                => '�������',
4273     'version'                                => '������',
4274     '`Daily\' Graph \((.*) Minute'           => '�������� ������ (������� �� $1 �����',
4275     '`Weekly\' Graph \(30 Minute'            => '��������� ������ (������� �� 30 �����' ,
4276     '`Monthly\' Graph \(2 Hour'              => '�������� ������  (������� �� 2 ����',
4277     '`Yearly\' Graph \(1 Day'                => '������� ������ (������� �� 1 ����',
4278     'Incoming Traffic in (\S+) per Second'   => '�������� ������ � $1 � �������',
4279     'Outgoing Traffic in (\S+) per Second'   => '��������� ������ � $1 � �������',
4280     'at which time (.*) had been up for(.*)' => '� ��� ����� $1 ���� �������� $2',
4281     #'([kMG]?)([bB])/s'                      => '$1$1/���',
4282     #'([kMG]?)([bB])/min'                    => '$1$2/���',
4283     '([kMG]?)([bB])/h'                       => '$1$2/���',
4284     'Bits'                                  => '�����',
4285     'Bytes'                                 => '������',
4286     'In'                                     => '��',
4287     'Out'                                    => '���',
4288     'Percentage'                             => '��������',
4289     'Ported to OpenVMS Alpha by'             => '������������ ��� OpenVMS Alpha',
4290     'Ported to WindowsNT by'                 => '������������ ��� WindowsNT',
4291     'and'                                    => '�',
4292     '^GREEN'                                  => '�������',
4293     'BLUE'                                   => '�����',
4294     'DARK GREEN'                             => '������������',
4295     'MAGENTA'                                => '����������',
4296     'AMBER'                                  => '��������'
4297  );
4298
4299# maybe expansions with replacement of whitespace would be more appropriate
4300
4301foreach $i (keys %translations)
4302{
4303  my $trans = $translations{$i};
4304  $trans =~ s/\|/\|/;
4305  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4306};
4307
4308%wday =
4309    (
4310      'Sunday'    => ' �����������',	'Sun' => '��',
4311      'Monday'    => ' �����������',	'Mon' => '��',
4312      'Tuesday'   => ' �������',	'Tue' => '��',
4313      'Wednesday' => ' �����',		'Wed' => '��',
4314      'Thursday'  => ' �������',	'Thu' => '��',
4315      'Friday'    => ' �������',	'Fri' => '��',
4316      'Saturday'  => ' �������',	'Sat' => '��'
4317    );
4318
4319%month =
4320    (
4321      'January'   => '������',   'February'  => '�������' ,    'March'     => '�����',
4322      'Jan'       => '���',       'Feb'       => '���',         'Mar'       => '���',
4323      'April'     => '������',     'May'       => '���',         'June'      => '����',
4324      'Apr'       => '���',       'May'       => '���',         'Jun'       => '���',
4325      'July'      => '����',   'August'    => '�������',        'September' => '��������',
4326      'Jul'       => '���',       'Aug'       => '���',         'Sep'       => '���',
4327      'October'   => '�������',   'November'  => '������',    'December'  => '�������',
4328      'Oct'       => '���',       'Nov'       => '���',         'Dec'       => '���'
4329    );
4330
4331  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4332  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4333    {
4334	if($foo[3]=~(/(.*)at(.*)/))
4335      {
4336        @quux=split(/at/,$foo[3]);
4337        $foo[3]=$quux[0]."�. � ".$quux[1];
4338      };
4339      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
4340    };
4341
4342#
4343# handle two different time/date formats:
4344# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4345# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4346#
4347
4348# handle nontranslated strings which ought to be translated
4349# print STDERR "$_\n" or print DEBUG "not translated $_";
4350# but then again we might not want/need to translate all strings
4351
4352  return $string;
4353
4354};
4355# Russian1251 Code
4356
4357sub russian1251
4358{
4359  my $string = shift;
4360return "" unless defined $string;
4361  my(%translations,%month,%wday);
4362
4363  my($i,$j);
4364  my(@dollar,@quux,@foo);
4365
4366
4367  # regexp => replacement string NOTE does not use autovars $1,$2...
4368  # charset=iso-2022-jp
4369
4370  %translations =
4371  (
4372     'iso-8859-1'                             => 'windows-1251',
4373     'Maximal 5 Minute Incoming Traffic'      => '������������ �������� ������ �� 5 �����',
4374     'Maximal 5 Minute Outgoing Traffic'      => '������������ ��������� ������ �� 5 �����',
4375     'the device'                             => '����������',
4376     'The statistics were last updated(.*)'   => '����� ���������� ����������: $1',
4377     ' Average\)'                             => ')',
4378     'Average'                                => '� �������',
4379     'Max'                                    => '�����������',
4380     'Current'                                => '������',
4381     'version'                                => '������',
4382     '`Daily\' Graph \((.*) Minute'           => '�������� ������ (������� �� $1 �����',
4383     '`Weekly\' Graph \(30 Minute'            => '��������� ������ (������� �� 30 �����' ,
4384     '`Monthly\' Graph \(2 Hour'              => '�������� ������  (������� �� 2 ����',
4385     '`Yearly\' Graph \(1 Day'                => '������� ������ (������� �� 1 ����',
4386     'Incoming Traffic in (\S+) per Second'   => '�������� ������ � $1 � �������',
4387     'Outgoing Traffic in (\S+) per Second'   => '��������� ������ � $1 � �������',
4388     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+)</strong>' => '����� ����� ������������� ���������� <strong>$1</strong>: <strong>$2</strong>.',
4389     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+) day, (\S+)</strong>' => '����� ����� ������������� ���������� <strong>$1</strong>: <strong>$2 �����</strong>, <strong>$3</strong>.',
4390     'at which time <strong>(\S+)</strong> had been up for <strong>(\S+) days, (\S+)</strong>' => '����� ����� ������������� ���������� <strong>$1</strong>: <strong>$2 �����</strong>, <strong>$3</strong>.',
4391     #'([kMG]?)([bB])/s'                      => '$1$1/���',
4392     #'([kMG]?)([bB])/min'                    => '$1$2/���',
4393     '([kMG]?)([bB])/h'                       => '$1$2/���',
4394     'Bits'                                  => '�����',
4395     'Bytes'                                 => '������',
4396     'In'                                     => '��',
4397     'Out'                                    => '���',
4398     'Percentage'                             => '��������',
4399     'Ported to OpenVMS Alpha by'             => '������������ ��� OpenVMS Alpha',
4400     'Ported to WindowsNT by'                 => '������������ ��� WindowsNT',
4401     'and'                                    => '�',
4402     '^GREEN'                                  => '�������',
4403     'BLUE'                                   => '�����',
4404     'DARK GREEN'                             => '������������',
4405     'MAGENTA'                                => '����������',
4406     'AMBER'                                  => '��������'
4407  );
4408
4409# maybe expansions with replacement of whitespace would be more appropriate
4410
4411foreach $i (keys %translations)
4412{
4413  my $trans = $translations{$i};
4414  $trans =~ s/\|/\|/;
4415  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4416};
4417
4418%wday =
4419    (
4420      'Sunday'    => ' �����������',	'Sun' => '��',
4421      'Monday'    => ' �����������',	'Mon' => '��',
4422      'Tuesday'   => ' �������',	'Tue' => '��',
4423      'Wednesday' => ' �����',		'Wed' => '��',
4424      'Thursday'  => ' �������',	'Thu' => '��',
4425      'Friday'    => ' �������',	'Fri' => '��',
4426      'Saturday'  => ' �������',	'Sat' => '��'
4427    );
4428
4429%month =
4430    (
4431      'January'   => '������',   'February'  => '�������' ,    'March'     => '�����',
4432      'Jan'       => '���',       'Feb'       => '���',         'Mar'       => '���',
4433      'April'     => '������',     'May'       => '���',         'June'      => '����',
4434      'Apr'       => '���',       'May'       => '���',         'Jun'       => '���',
4435      'July'      => '����',   'August'    => '�������',        'September' => '��������',
4436      'Jul'       => '���',       'Aug'       => '���',         'Sep'       => '���',
4437      'October'   => '�������',   'November'  => '������',    'December'  => '�������',
4438      'Oct'       => '���',       'Nov'       => '���',         'Dec'       => '���'
4439    );
4440
4441  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4442  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4443    {
4444	if($foo[3]=~(/(.*)at(.*)/))
4445      {
4446        @quux=split(/at/,$foo[3]);
4447        $foo[3]=$quux[0]."�. � ".$quux[1];
4448      };
4449      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
4450    };
4451
4452#
4453# handle two different time/date formats:
4454# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4455# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4456#
4457
4458# handle nontranslated strings which ought to be translated
4459# print STDERR "$_\n" or print DEBUG "not translated $_";
4460# but then again we might not want/need to translate all strings
4461
4462  return $string;
4463
4464};
4465# Serbian
4466
4467sub serbian
4468{
4469  my $string = shift;
4470return "" unless defined $string;
4471  my(%translations,%month,%wday);
4472
4473  my($i,$j);
4474  my(@dollar,@quux,@foo);
4475
4476
4477  # regexp => replacement string NOTE does not use autovars $1,$2...
4478  # charset=iso-2022-jp
4479
4480  %translations =
4481  (
4482     'iso-8859-1'                             => 'windows-1250',
4483     'Maximal 5 Minute Incoming Traffic'      => 'Najve�i 5 minutni ulazni saobra�aj',
4484     'Maximal 5 Minute Outgoing Traffic'      => 'Najve�i 5 minutni izlazni saobra�aj',
4485     'the device'                             => 'uredjaj',
4486     'The statistics were last updated(.*)'   => 'Poslednje a�uriranje podataka:$1',
4487     ' Average\)'                             => ' prosek)',
4488     'Average'                                => 'Prose�ni',
4489     'Max'                                    => 'Maksimalni',
4490     'Current'                                => 'Trenutni',
4491     'version'                                => 'verzija',
4492     '`Daily\' Graph \((.*) Minute'           => 'Dnevni graf ($1 minutni ',
4493     '`Weekly\' Graph \(30 Minute'            => 'Nedeljni graf (30 minutni ' ,
4494     '`Monthly\' Graph \(2 Hour'              => 'Mese�ni graf (2 sata ',
4495     '`Yearly\' Graph \(1 Day'                => 'Godi�nji graf (1 dnevni ',
4496     'Incoming Traffic in (\S+) per Second'   => 'Ulazni saobra�aj - $1 u sekundi.',
4497     'Outgoing Traffic in (\S+) per Second'   => 'Izlazni saobra�aj - $1 u sekundi.',
4498     'Incoming Traffic in (\S+) per Minute'   => 'Ulazni saobra�aj - $1 u minutu',
4499     'Outgoing Traffic in (\S+) per Minute'   => 'Izlazni saobra�aj - $1 u minutu',
4500     'Incoming Traffic in (\S+) per Hour'     => 'Ulazni saobra�aj - $1 na sat',
4501     'Outgoing Traffic in (\S+) per Hour'     => 'Izlazni saobra�aj - $1 na sat',
4502     'at which time (.*) had been up for(.*)' => 'Vreme neprekidnog rada sistema $1 : $2',
4503     #'([kMG]?)([bB])/s'                       => '\$1\$2/s',
4504     #'([kMG]?)([bB])/min'     	      	      => '\$1\$2/min',
4505     #'([kMG]?)([bB])/h'                       => '$1$2/h',
4506     'Bits'                                   => 'Bita',
4507     'Bytes'                                  => 'Bajta',
4508     'In'                                     => 'Ulaz',
4509     'Out'                                    => 'Izlaz',
4510     'Percentage'                             => 'Procenat',
4511     'Ported to OpenVMS Alpha by'             => 'Na OpenVMS portovao',
4512     'Ported to WindowsNT by'                 => 'Na WindowsNT portovao',
4513     'and'                                    => 'i',
4514     '^GREEN'                                  => 'Zeleno',
4515     'BLUE'                                   => 'Plavo',
4516     'DARK GREEN'                             => 'Tamnozeleno',
4517     'MAGENTA'                                => 'Ljubi�asto',
4518     'AMBER'                                  => 'Narand�asto'
4519  );
4520
4521# maybe expansions with replacement of whitespace would be more appropriate
4522
4523foreach $i (keys %translations)
4524{
4525  my $trans = $translations{$i};
4526  $trans =~ s/\|/\|/;
4527  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4528};
4529
4530%wday =
4531    (
4532      'Sunday'    => 'Nedelja',		'Sun' => 'Ned',
4533      'Monday'    => 'Ponedeljak',	'Mon' => 'Pon',
4534      'Tuesday'   => 'Utorak',		'Tue' => 'Uto',
4535      'Wednesday' => 'Sreda',		'Wed' => 'Sre',
4536      'Thursday'  => '�etvrtak',	'Thu' => '�et',
4537      'Friday'    => 'Petak',		'Fri' => 'Pet',
4538      'Saturday'  => 'Subota',		'Sat' => 'Sub'
4539    );
4540
4541%month =
4542    (
4543 'January' => 'januar', 'February' => 'februar', 'March'     => 'mart',
4544 'Jan'     => 'Jan', 'Feb'      => 'Feb', 'Mar'       => 'Mar',
4545 'April'   => 'april',	'May'      => 'maj',     'June'      => 'jun',
4546 'Apr'     => 'Apr',  'May'      => 'Maj',     'Jun'       => 'Jun',
4547 'July'    => 'jul',	'August'   => 'avgust',  'September' => 'septembar',
4548 'Jul'     => 'Jul',	'Aug'      => 'Avg',  'Sep'       => 'Sep',
4549 'October' => 'oktobar','November' => 'novembar','December'  => 'decembar',
4550 'Oct'     => 'Okt',  'Nov'      => 'Nov',  'Dec'       => 'Dec'
4551    );
4552
4553  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4554  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4555    {
4556	if($foo[3]=~(/(.*)at(.*)/))
4557      {
4558        @quux=split(/at/,$foo[3]);
4559        $foo[3]=$quux[0].",".$quux[1]." ";
4560      };
4561      return "$wday{$foo[0]} $foo[1]. $month{$foo[2]} $foo[3]";
4562    };
4563
4564#
4565# handle two different time/date formats:
4566# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4567# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4568#
4569
4570# handle nontranslated strings which ought to be translated
4571# print STDERR "$_\n" or print DEBUG "not translated $_";
4572# but then again we might not want/need to translate all strings
4573
4574  return $string;
4575
4576}
4577#
4578# Slovak
4579
4580sub slovak
4581{
4582  my $string = shift;
4583return "" unless defined $string;
4584  my(%translations,%month,%wday);
4585
4586  my($i,$j);
4587  my(@dollar,@quux,@foo);
4588
4589
4590  # regexp => replacement string NOTE does not use autovars $1,$2...
4591  # charset=iso-2022-jp
4592
4593  %translations =
4594  (
4595     'iso-8859-1'                             => 'iso-8859-2',
4596     'Maximal 5 Minute Incoming Traffic'      => 'Maxim�lny 5 min�tov� prich�dzaj�ci tok',
4597     'Maximal 5 Minute Outgoing Traffic'      => 'Maxim�lny 5 min�tov� odch�dzaj�ci tok',
4598     'the device'                             => 'zariadenie',
4599     'The statistics were last updated(.*)'   => 'Posledn� aktualiz�cia �tatist�k:$1',
4600     ' Average\)'                             => ' priemer)',
4601     'Average'                                => 'Priem.',
4602     'Max'                                    => 'Max.',
4603     'Current'                                => 'Akt.',
4604     'version'                                => 'verzia',
4605     '`Daily\' Graph \((.*) Minute'           => 'Denn� graf ($1 min�tov�',
4606     '`Weekly\' Graph \(30 Minute'            => 'T��denn� graf (30 min�tov�' ,
4607     '`Monthly\' Graph \(2 Hour'              => 'Mesa�n� graf (2 hodinov�',
4608     '`Yearly\' Graph \(1 Day'                => 'Ro�n� graf (1 denn�',
4609     'Incoming Traffic in (\S+) per Second'   => 'Prich�dzaj�ci tok v $1 za sekundu.',
4610     'Outgoing Traffic in (\S+) per Second'   => 'Odch�dzaj�ci tok v $1 za sekundu.',
4611     'at which time (.*) had been up for(.*)' => '�as od posledn�ho re�tartu $1 : $2',
4612     #'([kMG]?)([bB])/s'                       => '\$1\$2/s',
4613     #'([kMG]?)([bB])/min'     	      	      => '\$1\$2/min',
4614     #'([kMG]?)([bB])/h'                       => '$1$2/h',
4615     'Bits'                                   => 'bitoch',
4616     'Bytes'                                  => 'bytoch',
4617     #'&nbsp;In:</FONT>'                       => '&nbsp;In:</FONT>',
4618     #'&nbsp;Out:</FONT>'                      => '&nbsp;Out:</FONT>',
4619     'Percentage'                             => 'Perc.',
4620     'Ported to OpenVMS Alpha by'             => 'Na OpenVMS portoval',
4621     'Ported to WindowsNT by'                 => 'Na WindowsNT portoval',
4622     'and'                                    => 'a',
4623     '^GREEN'                                  => 'Zelen�',
4624     'BLUE'                                   => 'Modr�',
4625     'DARK GREEN'                             => 'Tmavozelen�',
4626     'MAGENTA'                                => 'Fialov�',
4627     'AMBER'                                  => '�lt�'
4628  );
4629
4630# maybe expansions with replacement of whitespace would be more appropriate
4631
4632foreach $i (keys %translations)
4633{
4634  my $trans = $translations{$i};
4635  $trans =~ s/\|/\|/;
4636  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4637};
4638
4639%wday =
4640    (
4641      'Sunday'    => 'Nede�a',		'Sun' => 'Ne',
4642      'Monday'    => 'Pondelok',	'Mon' => 'Po',
4643      'Tuesday'   => 'Utorok',		'Tue' => 'Ut',
4644      'Wednesday' => 'Streda',		'Wed' => 'St',
4645      'Thursday'  => '�tvrtok',		'Thu' => '�t',
4646      'Friday'    => 'Piatok',		'Fri' => 'Pi',
4647      'Saturday'  => 'Sobota',		'Sat' => 'So'
4648    );
4649
4650%month =
4651    (
4652 'January' => 'Janu�r', 'February' => 'Febru�r', 'March'     => 'Marec',
4653 'Jan'     => 'Janu�r', 'Feb'      => 'Febru�r', 'Mar'       => 'Marec',
4654 'April'   => 'Apr�l',	'May'      => 'M�j',     'June'      => 'J�n',
4655 'Apr'     => 'Apr�l',  'May'      => 'M�j',     'Jun'       => 'J�n',
4656 'July'    => 'J�l',	'August'   => 'August',  'September' => 'September',
4657 'Jul'     => 'J�l',	'Aug'      => 'August',  'Sep'       => 'September',
4658 'October' => 'Okt�ber','November' => 'November','December'  => 'December',
4659 'Oct'     => 'Okt�ber','Nov'      => 'November','Dec'       => 'December'
4660    );
4661
4662  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4663  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4664    {
4665	if($foo[3]=~(/(.*)at(.*)/))
4666      {
4667        @quux=split(/at/,$foo[3]);
4668        $foo[3]=$quux[0].",".$quux[1]." hod.";
4669      };
4670      return "$wday{$foo[0]} $foo[1]. $month{$foo[2]} $foo[3]";
4671    };
4672
4673#
4674# handle two different time/date formats:
4675# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4676# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4677#
4678
4679# handle nontranslated strings which ought to be translated
4680# print STDERR "$_\n" or print DEBUG "not translated $_";
4681# but then again we might not want/need to translate all strings
4682
4683  return $string;
4684
4685}
4686#
4687# Slovenian
4688
4689sub slovenian
4690{
4691  my $string = shift;
4692return "" unless defined $string;
4693  my(%translations,%month,%wday);
4694
4695  my($i,$j);
4696  my(@dollar,@quux,@foo);
4697
4698
4699  # regexp => replacement string NOTE does not use autovars $1,$2...
4700  # charset=iso-2022-jp
4701
4702  %translations =
4703  (
4704     'iso-8859-1'                             => 'windows-1250',
4705     'Maximal 5 Minute Incoming Traffic'      => 'Najvecji petminutni vhodni promet',
4706     'Maximal 5 Minute Outgoing Traffic'      => 'Najvecji petminutni izhodni promet',
4707     'the device'                             => 'naprava',
4708     'The statistics were last updated(.*)'   => 'Zadnja posodobitev podatkov:$1',
4709     ' Average\)'                             => ' povprecje)',
4710     'Average'                                => 'Povprecje',
4711     'Max'                                    => 'Maksimalno',
4712     'Current'                                => 'Trenutno',
4713     'version'                                => 'verzija',
4714     '`Daily\' Graph \((.*) Minute'           => 'Dnevni graf ($1 min.',
4715     '`Weekly\' Graph \(30 Minute'            => 'Tedenski graf (30 min.' ,
4716     '`Monthly\' Graph \(2 Hour'              => 'Mesecni graf (2 urno',
4717     '`Yearly\' Graph \(1 Day'                => 'Letni graf (1 dnevno',
4718     'Incoming Traffic in (\S+) per Second'   => 'Vhodni promet v $1 na sekundo.',
4719     'Outgoing Traffic in (\S+) per Second'   => 'Izhodni promet v $1 na sekundo.',
4720     'at which time (.*) had been up for(.*)' => 'Cas od zadnjega restarta sistema $1 : $2',
4721     #'([kMG]?)([bB])/s'                       => '\$1\$2/s',
4722     #'([kMG]?)([bB])/min'     	      	      => '\$1\$2/min',
4723     #'([kMG]?)([bB])/h'                       => '$1$2/h',
4724     'Bits'                                   => 'bitov',
4725     'Bytes'                                  => 'bytov',
4726     'In'                                     => 'Vhod',
4727     'Out'                                    => 'Izhod',
4728     'Percentage'                             => 'Proc.',
4729     'Ported to OpenVMS Alpha by'             => 'Na OpenVMS portiral',
4730     'Ported to WindowsNT by'                 => 'Na WindowsNT portiral',
4731     'and'                                    => 'in',
4732     '^GREEN'                                  => 'Zeleno',
4733     'BLUE'                                   => 'Modro',
4734     'DARK GREEN'                             => 'Temnozeleno',
4735     'MAGENTA'                                => 'Vijolicasto',
4736     'AMBER'                                  => 'Oranzno'
4737  );
4738
4739# maybe expansions with replacement of whitespace would be more appropriate
4740
4741foreach $i (keys %translations)
4742{
4743  my $trans = $translations{$i};
4744  $trans =~ s/\|/\|/;
4745  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4746};
4747
4748%wday =
4749    (
4750      'Sunday'    => 'Nedelja',		'Sun' => 'Ne',
4751      'Monday'    => 'Ponedeljek',	'Mon' => 'Po',
4752      'Tuesday'   => 'Torek',		'Tue' => 'To',
4753      'Wednesday' => 'Sreda',		'Wed' => 'Sr',
4754      'Thursday'  => 'Cetrtek',		'Thu' => 'Ce',
4755      'Friday'    => 'Petek',		'Fri' => 'Po',
4756      'Saturday'  => 'Sobota',		'Sat' => 'So'
4757    );
4758
4759%month =
4760    (
4761 'January' => 'Januar', 'February' => 'Februar', 'March'     => 'Marec',
4762 'Jan'     => 'Jan', 'Feb'      => 'Feb', 'Mar'       => 'Mar',
4763 'April'   => 'April',	'May'      => 'Maj',     'June'      => 'Jun',
4764 'Apr'     => 'Apr',  'May'      => 'Maj',     'Jun'       => 'Jun',
4765 'July'    => 'Julij',	'August'   => 'Avgust',  'September' => 'September',
4766 'Jul'     => 'Jul',	'Aug'      => 'Avg',  'Sep'       => 'Sep',
4767 'October' => 'Oktober','November' => 'November','December'  => 'December',
4768 'Oct'     => 'Okt','Nov'      => 'Nov','Dec'       => 'Dec'
4769    );
4770
4771  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4772  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4773    {
4774	if($foo[3]=~(/(.*)at(.*)/))
4775      {
4776        @quux=split(/at/,$foo[3]);
4777        $foo[3]=$quux[0].",".$quux[1]." ";
4778      };
4779      return "$wday{$foo[0]} $foo[1]. $month{$foo[2]} $foo[3]";
4780    };
4781
4782#
4783# handle two different time/date formats:
4784# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4785# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4786#
4787
4788# handle nontranslated strings which ought to be translated
4789# print STDERR "$_\n" or print DEBUG "not translated $_";
4790# but then again we might not want/need to translate all strings
4791
4792  return $string;
4793
4794}
4795#
4796# Spanish
4797
4798sub spanish
4799{
4800  my $string = shift;
4801return "" unless defined $string;
4802  my(%translations,%month,%wday);
4803
4804  my($i,$j);
4805  my(@dollar,@quux,@foo);
4806
4807
4808  # regexp => replacement string NOTE does not use autovars $1,$2...
4809
4810  %translations =
4811  (
4812     #'iso-8859-1'                             => 'iso-8859-1',
4813     'Maximal 5 Minute Incoming Traffic'      => 'Tr&aacute;fico entrante m&aacute;ximo en 5 minutos',
4814     'Maximal 5 Minute Outgoing Traffic'      => 'Tr&aacute;fico saliente m&aacute;ximo en 5 minutos',
4815     'the device'                             => 'el dispositivo',
4816     'The statistics were last updated(.*)'   => 'Estad&iacute;sticas actualizadas el $1',
4817     ' Average\)'                             => ' Promedio)',
4818     'Average'                                => 'Promedio',
4819     'Max'                                    => 'M&aacute;x',
4820     'Current'                                => 'Actual',
4821     'version'                                => 'version',
4822     '`Daily\' Graph \((.*) Minute'           => 'Gr&aacute;fico diario ($1 minutos :',
4823     '`Weekly\' Graph \(30 Minute'            => 'Gr&aacute;fico semanal (30 minutos :' ,
4824     '`Monthly\' Graph \(2 Hour'              => 'Gr&aacute;fico mensual (2 horas :',
4825     '`Yearly\' Graph \(1 Day'                => 'Gr&aacute;fico anual (1 d&iacute;a :',
4826     'Incoming Traffic in (\S+) per Second'   => 'Tr&aacute;fico entrante en $1 por segundo',
4827     'Outgoing Traffic in (\S+) per Second'   => 'Tr&aacute;fico saliente en $1 por segundo',
4828     'at which time (.*) had been up for(.*)' => '$1 ha estado funcionando durante $2',
4829     # '([kMG]?)([bB])/s'                      => '\$1\$2/s',
4830     # '([kMG]?)([bB])/min'                    => '\$1\$2/min',
4831     # '([kMG]?)([bB])/h'                       => '$1$2/t',
4832     # 'Bits'                                  => 'Bits',
4833     # 'Bytes'                                 => 'Bytes'
4834     'In'                                     => 'Entrante:',
4835     'Out'                                    => 'Saliente:',
4836     'Percentage'                             => 'Porcentaje:',
4837     'Ported to OpenVMS Alpha by'             => 'Portado a OpenVMS Alpha por',
4838     'Ported to WindowsNT by'                 => 'Portado a WindowsNT por',
4839     'and'                                    => 'y',
4840     '^GREEN'                                  => 'VERDE',
4841     'BLUE'                                   => 'AZUL',
4842     'DARK GREEN'                             => 'VERDE OSCURO',
4843     'MAGENTA'                                => 'MAGENTA',
4844     'AMBER'                                  => 'AMBAR'
4845  );
4846
4847# maybe expansions with replacement of whitespace would be more appropriate
4848
4849foreach $i (keys %translations)
4850{
4851  my $trans = $translations{$i};
4852  $trans =~ s/\|/\|/;
4853  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4854};
4855
4856%wday =
4857    (
4858      'Sunday'    => 'Domingo',		'Sun' => 'Dom',
4859      'Monday'    => 'Lunes',		'Mon' => 'Lun',
4860      'Tuesday'   => 'Martes',		'Tue' => 'Mar',
4861      'Wednesday' => 'Mi&eacute;rcoles','Wed' => 'Mi&eacute;',
4862      'Thursday'  => 'Jueves',		'Thu' => 'Jue',
4863      'Friday'    => 'Viernes',		'Fri' => 'Vie',
4864      'Saturday'  => 'S&aacute;bado',	'Sat' => 'Sab'
4865    );
4866
4867%month =
4868    (
4869 'January' => 'Enero',   'February' => 'Febrero' ,  'March'     => 'Marzo',
4870 'Jan'     => 'Ene',     'Feb'      => 'Feb',       'Mar'       => 'Mar',
4871 'April'   => 'Abril',   'May'      => 'Mayo',      'June'      => 'Junio',
4872 'Apr'     => 'Abr',     'May'      => 'Mai',       'Jun'       => 'Jun',
4873 'July'    => 'Julio',   'August'   => 'Agosto',    'September' => 'Setiembre',
4874 'Jul'     => 'Jul',     'Aug'      => 'Ago',       'Sep'       => 'Set',
4875 'October' => 'Octubre', 'November' => 'Noviembre', 'December'  => 'Diciembre',
4876 'Oct'     => 'Oct',     'Nov'       => 'Nov',      'Dec'       => 'Dic'
4877    );
4878
4879  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4880  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4881    {
4882	if($foo[3]=~(/(.*)at(.*)/))
4883      {
4884        @quux=split(/at/,$foo[3]);
4885        $foo[3]=$quux[0]." a las ".$quux[1];
4886      };
4887      return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]";
4888    };
4889  return $string;
4890}
4891# Swedish
4892
4893sub swedish
4894{
4895  my $string = shift;
4896return "" unless defined $string;
4897  my(%translations,%month,%wday);
4898
4899  my($i,$j);
4900  my(@dollar,@quux,@foo);
4901
4902
4903  # regexp => replacement string NOTE does not use autovars $1,$2...
4904  # charset=iso-2022-jp
4905
4906  %translations =
4907  (
4908     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
4909     'Maximal 5 Minute Incoming Traffic'      => 'Maximalt inkommande trafik i 5 minuter',
4910     'Maximal 5 Minute Outgoing Traffic'      => 'Maximalt utg&aring;ende trafik i 5 minuter',
4911     'the device'                             => 'enheten',
4912     'The statistics were last updated(.*)'   => 'Statistiken blev senast uppdaterad$1',
4913     ' Average\)'                             => ')',
4914     'Average'                                => 'Medel',
4915     #'Max'                                    => 'Max',
4916     'Current'                                => 'Senaste',
4917     'version'                                => 'version',
4918     '`Daily\' Graph \((.*) Minute'           => 'Daglig graf (samplingsintervall $1 minut(er)',
4919     '`Weekly\' Graph \(30 Minute'            => 'Veckovis graf (medelv�rde per 30 minuter' ,
4920     '`Monthly\' Graph \(2 Hour'              => 'M&aring;natlig graf (medelv�rde per 2 timmar',
4921     '`Yearly\' Graph \(1 Day'                => '&Aring;rlig graf (medelv�rde per dygn',
4922     'Incoming Traffic in (\S+) per Second'   => 'Inkommande trafik i $1 per sekund',
4923     'Outgoing Traffic in (\S+) per Second'   => 'Utg�ende trafik i $1 per sekund',
4924     'at which time (.*) had been up for(.*)' 		=> 'd� $1 varit ig&aring;ng i$2',
4925     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
4926     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
4927     '([kMG]?)([bB])/h'                       => '$1$2/t',
4928     # 'Bits'                                => 'Bits',
4929     # 'Bytes'                              => 'Bytes',
4930     #'In'                                     => 'In',
4931     'Out'                                    => 'Ut',
4932     'Percentage'                             => 'Procent',
4933     'Ported to OpenVMS Alpha by'             => 'Portad till OpenVMS av',
4934     'Ported to WindowsNT by'                 => 'Portad till WindowsNT av',
4935     'and'                                    => 'och',
4936     '^GREEN'                                  => 'GR&Ouml;N',
4937     'BLUE'                                   => 'BL&Aring;',
4938     'DARK GREEN'                             => 'M&Ouml;RKGR&Ouml;N',
4939     'MAGENTA'                                => 'MANGENTA',
4940     'AMBER'                                  => 'BRUN',
4941
4942  );
4943
4944# maybe expansions with replacement of whitespace would be more appropriate
4945
4946foreach $i (keys %translations)
4947{
4948  my $trans = $translations{$i};
4949  $trans =~ s/\|/\|/;
4950  return $string if eval " \$string =~ s|\${i}|${trans}| ";
4951};
4952
4953%wday =
4954    (
4955      'Sunday'    => 's&ouml;ndag',    'Sun' => 's&ouml;n',
4956      'Monday'    => 'm&aring;ndag',           'Mon' => 'm&aring;n',
4957      'Tuesday'   => 'tisdag',          'Tue' => 'tis',
4958      'Wednesday' => 'onsdag',           'Wed' => 'ons',
4959      'Thursday'  => 'torsdag',          'Thu' => 'tor',
4960      'Friday'    => 'fredag',           'Fri' => 'fre',
4961      'Saturday'  => 'l&ouml;rdag',    'Sat' => 'l&ouml;r'
4962
4963    );
4964
4965%month =
4966    (
4967      'January'   => 'januari',   'February'  => 'februari',    'March'     => 'mars',
4968      'Jan'       => 'jan',       'Feb'       => 'feb',         'Mar'       => 'mar',
4969      'April'     => 'april',     'May'       => 'maj',         'June'      => 'juni',
4970      'Apr'       => 'apr',       'May'       => 'maj',         'Jun'       => 'jun',
4971      'July'      => 'juli',      'August'    => 'augusti',      'September' => 'september',
4972      'Jul'       => 'jul',       'Aug'       => 'aug',         'Sep'       => 'sep',
4973      'October'   => 'oktober',   'November'  => 'november',    'December'  => 'december',
4974      'Oct'       => 'okt',       'Nov'       => 'nov',         'Dec'       => 'dec'
4975    );
4976
4977  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
4978  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
4979    {
4980	if($foo[3]=~(/(.*)at(.*)/))
4981      {
4982        @quux=split(/at/,$foo[3]);
4983        $foo[3]=$quux[0]." kl.".$quux[1];
4984      };
4985      return "$wday{$foo[0]} den $foo[1] $month{$foo[2]} $foo[3]";
4986    };
4987
4988#
4989# handle two different time/date formats:
4990# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
4991# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
4992#
4993
4994# handle nontranslated strings which ought to be translated
4995# print STDERR "$_\n" or print DEBUG "not translated $_";
4996# but then again we might not want/need to translate all strings
4997
4998  return $string;
4999
5000  };
5001# Turkish
5002
5003sub turkish
5004{
5005  my $string = shift;
5006return "" unless defined $string;
5007  my(%translations,%month,%wday);
5008
5009  my($i,$j);
5010  my(@dollar,@quux,@foo);
5011
5012
5013  # regexp => replacement string NOTE does not use autovars $1,$2...
5014
5015  %translations =
5016  (
5017     'iso-8859-1'                             => 'iso-8859-9',
5018     'Maximal 5 Minute Incoming Traffic'      => '5 dakika i�in en y�ksek giri� trafi�i',
5019     'Maximal 5 Minute Outgoing Traffic'      => '5 dakika i�in en y�ksek ��k�� trafi�i',
5020     'the device'                             => 'ayg�t',
5021     'The statistics were last updated(.*)'   => '�statistiklerin en son g�ncellenmesi $1',
5022     ' Average\)'                             => ' Ortalama)',
5023     'Average'                                => 'Ortalama',
5024     'Max'                                    => 'EnY�ksek;x',
5025     'Current'                                => '�uAnki',
5026     'version'                                => 's�r�m',
5027     '`Daily\' Graph \((.*) Minute'           => 'G�nl�k ($1 dakika :',
5028     '`Weekly\' Graph \(30 Minute'            => 'Haftal�k (30 dakika :' ,
5029     '`Monthly\' Graph \(2 Hour'              => 'Ayl�k (2 saat :',
5030     '`Yearly\' Graph \(1 Day'                => 'Y�ll�k (1 g�n :',
5031     'Incoming Traffic in (\S+) per Second'   => '$1 deki saniyelik giri� trafi�i',
5032     'Outgoing Traffic in (\S+) per Second'   => '$1 deki saniyelik ��k�� trafi�i',
5033     'at which time (.*) had been up for(.*)' => '$1 Ne zamandan $2 beri ayakta',
5034     # '([kMG]?)([bB])/s'                      => '\$1\$2/s',
5035     # '([kMG]?)([bB])/min'                    => '\$1\$2/min',
5036     # '([kMG]?)([bB])/h'                       => '$1$2/t',
5037     # 'Bits'                                  => 'Bit',
5038     # 'Bytes'                                 => 'Byte'
5039     'In'                                     => 'Giri�',
5040     'Out'                                    => '��k��',
5041     'Percentage'                             => 'Y�zge',
5042     'Ported to OpenVMS Alpha by'             => 'OpenVMS Alpha ya uyarlayan',
5043     'Ported to WindowsNT by'                 => 'WindowsNT ye uyarlayan',
5044     'and'                                    => 've',
5045     '^GREEN'                                 => 'YE��L',
5046     'BLUE'                                   => 'MAV�',
5047     'DARK GREEN'                             => 'KOYU YE��L',
5048     'MAGENTA'                                => 'MACENTA',
5049     'AMBER'                                  => 'AMBER'
5050  );
5051
5052# maybe expansions with replacement of whitespace would be more appropriate
5053
5054foreach $i (keys %translations)
5055{
5056  my $trans = $translations{$i};
5057  $trans =~ s/\|/\|/;
5058  return $string if eval " \$string =~ s|\${i}|${trans}| ";
5059};
5060
5061%wday =
5062    (
5063      'Sunday'    => 'Pazar',		'Pzr' => 'Dom',
5064      'Monday'    => 'Pazartesi',	'Pzt' => 'Lun',
5065      'Tuesday'   => 'Sal�',		'Sal' => 'Mar',
5066      'Wednesday' => '�ar�amba',	'�r�' => 'Mi&eacute;',
5067      'Thursday'  => 'Per�embe',	'Pr�' => 'Jue',
5068      'Friday'    => 'Cuma',		'Cum' => 'Vie',
5069      'Saturday'  => 'Cumartesi',	'Cmr' => 'Sab'
5070    );
5071
5072%month =
5073    (
5074 'January' => 'Ocak',    'February' => '�ubat',     'March'     => 'Mart',
5075 'Jan'     => 'Ock',     'Feb'      => '�ub',       'Mar'       => 'Mar',
5076 'April'   => 'Nisan',   'May'      => 'May�s',     'June'      => 'Haziran',
5077 'Apr'     => 'Nis',     'May'      => 'May',       'Jun'       => 'Hzr',
5078 'July'    => 'Temmuz',  'August'   => 'Agustos',   'September' => 'Eyl�l',
5079 'Jul'     => 'Tem',     'Aug'      => 'Agu',       'Sep'       => 'Eyl',
5080 'October' => 'Ekim',    'November' => 'Kas�m',     'December'  => 'Aral�k',
5081 'Oct'     => 'Ekm',     'Nov'      => 'Kas',       'Dec'       => 'Ara'
5082    );
5083
5084  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
5085  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
5086    {
5087	if($foo[3]=~(/(.*)at(.*)/))
5088      {
5089        @quux=split(/at/,$foo[3]);
5090        $foo[3]=$quux[0]." a las ".$quux[1];
5091      };
5092      return "$wday{$foo[0]} $foo[1] de $month{$foo[2]} de $foo[3]";
5093    };
5094}
5095
5096
5097# Ukrainian
5098
5099sub ukrainian
5100{
5101  my $string = shift;
5102return "" unless defined $string;
5103  my(%translations,%month,%wday);
5104
5105  my($i,$j);
5106  my(@dollar,@quux,@foo);
5107
5108
5109  # regexp => replacement string NOTE does not use autovars $1,$2...
5110  # charset=iso-2022-jp
5111
5112  %translations =
5113  (
5114     'iso-8859-1'                             => 'koi8-u',
5115     'Maximal 5 Minute Incoming Traffic'      => '������������ �Ȧ���� ���Ʀ� �� 5 ������',
5116     'Maximal 5 Minute Outgoing Traffic'      => '������������ ��Ȧ���� ���Ʀ� �� 5 ������',
5117     'the device'                             => '�����Ҧ�',
5118     'The statistics were last updated(.*)'   => '�����Τ ��������� ���������� ���� �: $1',
5119     ' Average\)'                             => ')',
5120     'Average'                                => '������',
5121     'Max'                                    => '����.',
5122     'Current'                                => '��������',
5123     'version'                                => '���Ӧ�',
5124     '`Daily\' Graph \((.*) Minute'           => '������� ���Ʀ� (�����Τ �� $1 ������',
5125     '`Weekly\' Graph \(30 Minute'            => '�������� ���Ʀ� (�����Τ �� 30 ������' ,
5126     '`Monthly\' Graph \(2 Hour'              => '������� ���Ʀ�  (�����Τ �� 2 ������',
5127     '`Yearly\' Graph \(1 Day'                => '����� ���Ʀ� (�����Τ �� 1 ����',
5128     'Incoming Traffic in (\S+) per Second'   => '�Ȧ���� ���Ʀ� � $1 �� �������',
5129     'Outgoing Traffic in (\S+) per Second'   => '��Ȧ���� ���Ʀ� � $1 �� �������',
5130     'at which time (.*) had been up for(.*)' => '$1 ���� �������� � $2',
5131     #'([kMG]?)([bB])/s'                      => '$1$1/�',
5132     #'([kMG]?)([bB])/min'                    => '$1$2/��',
5133     '([kMG]?)([bB])/h'                       => '$1$2/���',
5134     'Bits'                                  => '¦���',
5135     'Bytes'                                 => '������',
5136     'In'                                     => '��',
5137     'Out'                                    => '���',
5138     'Percentage'                             => '��������',
5139     'Ported to OpenVMS Alpha by'             => '���������� ��� OpenVMS Alpha',
5140     'Ported to WindowsNT by'                 => '���������� ��� WindowsNT',
5141     'and'                                    => '�',
5142     '^GREEN'                                  => '�������',
5143     'BLUE'                                   => '����',
5144     'DARK GREEN'                             => '������������',
5145     'MAGENTA'                                => '���������',
5146     'AMBER'                                  => '�����������'
5147  );
5148
5149# maybe expansions with replacement of whitespace would be more appropriate
5150
5151foreach $i (keys %translations)
5152{
5153  my $trans = $translations{$i};
5154  $trans =~ s/\|/\|/;
5155  return $string if eval " \$string =~ s|\${i}|${trans}| ";
5156};
5157
5158%wday =
5159    (
5160      'Sunday'    => ' ��Ħ��',		'Sun' => '��',
5161      'Monday'    => ' ����Ħ���',	'Mon' => '��',
5162      'Tuesday'   => ' ��������',	'Tue' => '��',
5163      'Wednesday' => ' ������',		'Wed' => '��',
5164      'Thursday'  => ' ������',		'Thu' => '��',
5165      'Friday'    => ' �\'������',	'Fri' => '��',
5166      'Saturday'  => ' ������',		'Sat' => '��'
5167    );
5168
5169%month =
5170    (
5171      'January'   => '����',   'February'  => '������' ,    'March'     => '�������',
5172      'Jan'       => '��',     'Feb'       => '���',        'Mar'       => '���',
5173      'April'     => '�צ���',  'May'       => '������',     'June'      => '������',
5174      'Apr'       => '�צ',     'May'       => '���',        'Jun'       => '���',
5175      'July'      => '�����',   'August'    => '������',     'September' => '�������',
5176      'Jul'       => '���',     'Aug'       => '���',        'Sep'       => '���',
5177      'October'   => '������',  'November'  => '���������',  'December'  => '������',
5178      'Oct'       => '���',     'Nov'       => '���',        'Dec'       => '���'
5179    );
5180
5181  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
5182  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
5183    {
5184	if($foo[3]=~(/(.*)at(.*)/))
5185      {
5186        @quux=split(/at/,$foo[3]);
5187        $foo[3]=$quux[0]."�. � ".$quux[1];
5188      };
5189      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
5190    };
5191
5192#
5193# handle two different time/date formats:
5194# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
5195# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
5196#
5197
5198# handle nontranslated strings which ought to be translated
5199# print STDERR "$_\n" or print DEBUG "not translated $_";
5200# but then again we might not want/need to translate all strings
5201
5202  return $string;
5203
5204};
5205
5206
5207# Ukrainian1251 - windowze encoding
5208
5209sub ukrainian1251
5210{
5211  my $string = shift;
5212return "" unless defined $string;
5213  my(%translations,%month,%wday);
5214
5215  my($i,$j);
5216  my(@dollar,@quux,@foo);
5217
5218  %translations =
5219  (
5220     'iso-8859-1'                             => 'windows-1251',
5221  'Maximal 5 Minute Incoming Traffic'		=> '������������ ������� ������ �� 5 ������',
5222  'Maximal 5 Minute Outgoing Traffic'		=> '������������ �������� ������ �� 5 ������',
5223  'the device'					=> '�������',
5224  'The statistics were last updated(.*)'	=> '������ ��������� ����������: $1',
5225     ' Average\)'                             => ')',
5226     'Average'                                => '�������',
5227     'Max'                                    => '������������',
5228     'Current'                                => '��������',
5229  'version'					=> '�����',
5230     '`Daily\' Graph \((.*) Minute'           => '������ ������ (� ���������� �� $1 ������',
5231     '`Weekly\' Graph \(30 Minute'            => '�������� ������ (� ���������� �� 30 ������' ,
5232     '`Monthly\' Graph \(2 Hour'              => '̳������ ������ (� ���������� �� ��i ������',
5233     '`Yearly\' Graph \(1 Day'                => '��� ������ (� ���������� �� ���� ����',
5234  'Incoming Traffic in (\S+) per Second'	=> '������� ������ � $1 �� �������',
5235  'Outgoing Traffic in (\S+) per Second'	=> '�������� ������ � $1 �� �������',
5236  'at which time (.*) had been up for(.*)'	=> '$1 � 䳿: $2',
5237  '([kMG]?)([bB])/s'				=> '$1$1/���',
5238  '([kMG]?)([bB])/min'				=> '$1$2/��',
5239  '([kMG]?)([bB])/h'				=> '$1$2/���',
5240  '([bB])/s'					=> '$1/���',
5241  '([bB])/min'					=> '$1/��',
5242  '([bB])/h'					=> '$1/���',
5243  'Bits'					=> '����',
5244  'Bytes'					=> '������',
5245     'In'                                     => '����',
5246     'Out'                                    => '�����',
5247     'Percentage'                             => '³������',
5248  'Ported to OpenVMS Alpha by'			=> '��������� �� OpenVMS Alpha',
5249  'Ported to WindowsNT by'			=> '��������� �� WindowsNT',
5250  'and'						=> '��',
5251  'RED'						=> '��������',
5252  '^GREEN'					=> '�������',
5253  'BLUE'					=> '��Ͳ�',
5254  'DARK GREEN'					=> '������������',
5255  'MAGENTA'					=> 'Բ��������',
5256  'AMBER'					=> '�����������',
5257  );
5258
5259# maybe expansions with replacement of whitespace would be more appropriate
5260
5261foreach $i (keys %translations)
5262{
5263  my $trans = $translations{$i};
5264  $trans =~ s/\|/\|/;
5265  return $string if eval " \$string =~ s|\${i}|${trans}| ";
5266};
5267
5268%wday =
5269    (
5270      'Sunday'    => ' �����',		'Sun' => '��',
5271      'Monday'    => ' ��������',	'Mon' => '��',
5272      'Tuesday'   => ' ³������',	'Tue' => '��',
5273      'Wednesday' => ' ������',		'Wed' => '��',
5274      'Thursday'  => ' ������',		'Thu' => '��',
5275      'Friday'    => ' �\'������',	'Fri' => '��',
5276      'Saturday'  => ' ������',		'Sat' => '��'
5277    );
5278
5279%month =
5280    (
5281      'January'   => 'ѳ���',   'February'  => '������' ,    'March'     => '�������',
5282      'Jan'       => 'ѳ�',       'Feb'       => '���',         'Mar'       => '���',
5283      'April'     => '�����',     'May'       => '������',         'June'      => '������',
5284      'Apr'       => '���',       'May'       => '���',         'Jun'       => '���',
5285      'July'      => '�����',   'August'    => '������',        'September' => '�������',
5286      'Jul'       => '���',       'Aug'       => '���',         'Sep'       => '���',
5287      'October'   => '������',   'November'  => '���������',    'December'  => '������',
5288      'Oct'       => '���',       'Nov'       => '���',         'Dec'       => '���'
5289    );
5290
5291  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
5292  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
5293    {
5294	if($foo[3]=~(/(.*)at(.*)/))
5295      {
5296        @quux=split(/at/,$foo[3]);
5297        $foo[3]=$quux[0]."�. ".$quux[1];
5298      };
5299      return "$wday{$foo[0]} $foo[1] $month{$foo[2]} $foo[3]";
5300    };
5301
5302#
5303# handle two different time/date formats:
5304# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
5305# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
5306#
5307
5308# handle nontranslated strings which ought to be translated
5309# print STDERR "$_\n" or print DEBUG "not translated $_";
5310# but then again we might not want/need to translate all strings
5311
5312  return $string;
5313
5314};
5315
5316