1###### PATCHTAG00 ####################################################
2###      Norwegian/norsk
3###      => Knut Gr�neng <knut.groneng@merkantildata.no
4###### PATCHTAG10 ####################################################
5  &norwegianh
6###### PATCHTAG20 ####################################################
7  'norwegian'       => \&norwegian,
8  'norsk'        => \&norwegian,
9###### PATCHTAG30 ####################################################
10# Danish/dansk
11   'norwegian' =>
12   "Oversatt til norsk av
13				Knut Gr�neng
14				<a href=\"mailto:knut.groneng\@merkantildata.no\">&lt;knut.groneng\@merkantildata.no&gt;</a>",
15# the norwegian string means: "Translated to norwegian by"
16###### PATCHTAG40 ####################################################
17$credits::LOCALE{'norsk'}=$credits::LOCALE{'norwegian'};
18###### PATCHTAG50 ####################################################
19# Norwegian
20
21sub norwegian
22{
23  my $string = shift;
24return "" unless defined $string;
25  my(%translations,%month,%wday);
26
27  my($i,$j);
28  my(@dollar,@quux,@foo);
29
30
31  # regexp => replacement string NOTE does not use autovars $1,$2...
32  # charset=iso-2022-jp
33
34  %translations =
35  (
36     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
37     'Maximal 5 Minute Incoming Traffic'      => 'Maksimal inng&aring;ende trafikk i 5 minutter',
38     'Maximal 5 Minute Outgoing Traffic'      => 'Maksimal utg&aring;ende trafikk i 5 minutter',
39     'the device'                             => 'enhetden',
40     'The statistics were last updated(.*)'   => 'Statistikken ble sist oppdatert $1',
41     ' Average\)'                             => ' gjennomsnitt)',
42     'Average'                                => 'Gjennomsnitt',
43     'Max'                                    => 'Max',
44     'Current'                                => 'N&aring;',
45     'version'                                => 'versjon',
46     '`Daily\' Graph \((.*) Minute'           => '`Daglig\' graf ($1 minutts',
47     '`Weekly\' Graph \(30 Minute'            => '`Ukentlig\' graf (30 minutts' ,
48     '`Monthly\' Graph \(2 Hour'              => '`M&aring;nedlig\' graf (2 times',
49     '`Yearly\' Graph \(1 Day'                => '`&Aring;rlig\' graf (1 dags',
50     'Incoming Traffic in (\S+) per Second'   => 'Inng&aring;ende trafikk i $1 per sekund',
51     'Outgoing Traffic in (\S+) per Second'   => 'Utg&aring;ende trafikk i $1 per sekund',
52     'at which time (.*) had been up for(.*)' => 'hvor $1 hadde v&aelig;rt oppe i $2',
53     # '([kMG]?)([bB])/s'                 => '\$1\$2/s',
54     # '([kMG]?)([bB])/min'              => '\$1\$2/min',
55     '([kMG]?)([bB])/h'                       => '$1$2/t',
56     # 'Bits'                                => 'Bits',
57     # 'Bytes'                              => 'Bytes'
58     'In'                                     => 'Inn',
59     'Out'                                    => 'Ut',
60     'Percentage'                             => 'Prosent',
61     'Ported to OpenVMS Alpha by'             => 'Port til OpenVMS av',
62     'Ported to WindowsNT by'                 => 'Port til WindowsNT av',
63     'and'                                    => 'og',
64     '^GREEN'                                  => 'GR&Oslash;NN',
65     'BLUE'                                   => 'BL&Aring;',
66     'DARK GREEN'                             => 'M&Oslash;RKEGR&Oslash;NN',
67     'MAGENTA'                                => 'MAGENTA',
68     'AMBER'                                  => 'GUL'
69  );
70
71# maybe expansions with replacement of whitespace would be more appropriate
72
73foreach $i (keys %translations)
74{
75  my $trans = $translations{$i};
76  $trans =~ s/\|/\|/;
77  return $string if eval " \$string =~ s|\${i}|${trans}| ";
78};
79
80%wday =
81    (
82      'Sunday'    => 'S&oslash;ndag',    'Sun' => 'S&oslash;n',
83      'Monday'    => 'Mandag',           'Mon' => 'Man',
84      'Tuesday'   => 'Tirsdag',          'Tue' => 'Tir',
85      'Wednesday' => 'Onsdag',           'Wed' => 'Ons',
86      'Thursday'  => 'Torsdag',          'Thu' => 'Tor',
87      'Friday'    => 'Fredag',           'Fri' => 'Fre',
88      'Saturday'  => 'L&oslash;rdag',    'Sat' => 'L&oslash;r'
89
90    );
91
92%month =
93    (
94      'January'   => 'Januar',    'February'  => 'Februar' ,    'March'     => 'Mars',
95      'Jan'       => 'Jan',       'Feb'       => 'Feb',         'Mar'       => 'Mar',
96      'April'     => 'April',     'May'       => 'Mai',         'June'      => 'Juni',
97      'Apr'       => 'Apr',       'May'       => 'Mai',         'Jun'       => 'Jun',
98      'July'      => 'Juli',      'August'    => 'August',      'September' => 'September',
99      'Jul'       => 'Jul',       'Aug'       => 'Aug',         'Sep'       => 'Sep',
100      'October'   => 'Oktober',   'November'  => 'November',    'December'  => 'Desember',
101      'Oct'       => 'Okt',       'Nov'       => 'Nov',         'Dec'       => 'Des'
102    );
103
104  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
105  if($foo[0] && $wday{$foo[0]} && $foo[2] && $month{$foo[2]} )
106    {
107	if($foo[3]=~(/(.*)at(.*)/))
108      {
109        @quux=split(/at/,$foo[3]);
110        $foo[3]=$quux[0]." kl.".$quux[1];
111      };
112      return "$wday{$foo[0]} den $foo[1]. $month{$foo[2]} $foo[3]";
113    };
114
115#
116# handle two different time/date formats:
117# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
118# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
119#
120
121# handle nontranslated strings which ought to be translated
122# print STDERR "$_\n" or print DEBUG "not translated $_";
123# but then again we might not want/need to translate all strings
124
125  return $string;
126
127  };
128