File: portuguese.pmd

package info (click to toggle)
mrtg 2.9.17-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 5,140 kB
  • ctags: 1,517
  • sloc: perl: 22,688; ansic: 3,536; sh: 1,309; makefile: 319; php: 227; awk: 213; csh: 49; exp: 16
file content (145 lines) | stat: -rw-r--r-- 6,407 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
###### PATCHTAG 00 ###################################################
###      Portuguese/Portugu�s   
###      => Diogo Gomes <etdgomes@ua.pt> 
###### PATCHTAG 10 ###################################################
  &portuguese
###### PATCHTAG 20 ###################################################
  'portuguese'     => \&portuguese,
###### PATCHTAG 30 ###################################################
# Portugu�s/portuguese 
   'portuguese' =>
   "  <HR NOSHADE>
    Traduzido por 
    <NOBR><A HREF=\"http://sweet.ua.pt/~etdgomes\">Diogo Gomes</A>
  <A HREF=\"mailto:etdgomes\@ua.pt\">
  etdgomes\@ua.pt</A></NOBR>",
###### PATCHTAG 40 ###################################################
$credits::LOCALE{'portuguese'}=$credits::LOCALE{'portuguese'};
###### PATCHTAG 50 ###################################################
# Portugu�s 

sub portuguese 
{
  my($string)=pop(@_);
  my(%translations,%month,%wday);

  my($i,$j);
  my(@dollar,@quux,@foo);

  
  # regexp => replacement string NOTE does not use autovars $1,$2...
  # charset=iso-2022-jp

  %translations =
  (  
     #'charset=iso-8859-1'                     => 'charset=iso-8859-1',
     'Maximal 5 Minute Incoming Traffic'      => 'Tr�fego Maximal Recebido em 5 minutos',
     'Maximal 5 Minute Outgoing Traffic'      => 'Tr�fego Maximal Enviado em 5 minutos',
     'the device'                             => 'o dispositivo',
     'The statistics were last updated(.*)'   => 'As Estat�sticas foram actualizadas pela �ltima vez na $1',
     ' Average\)</B><BR>'                     => '',
     '<TD ALIGN=right><SMALL>Average(.*)'     => '<TD ALIGN=right><SMALL>M�dia$1',
     '<TD ALIGN=right><SMALL>Max(.*)'         => '<TD ALIGN=right><SMALL>Max.$1',
     '<TD ALIGN=right><SMALL>Current(.*)'     => '<TD ALIGN=right><SMALL>Actual$1',
     'version'                                => 'Vers�o',
     '<B>`Daily\' Graph \((.*) Minute'        => '<B>Gr�fico Di�rio (em intervalos de $1 Minutos)</B><BR>',
     '<B>`Weekly\' Graph \(30 Minute'         => '<B>Gr�fico Semanal</B><BR>' ,
     '<B>`Monthly\' Graph \(2 Hour'           => '<B>Gr�fico Mensal</B><BR>',
     '<B>`Yearly\' Graph \(1 Day'             => '<B>Gr�fico Anual</B><BR>', 
     'Incoming Traffic in (\S+) per Second'   => 'Tr�fego recebido em  $1/segundo',
     'Outgoing Traffic in (\S+) per Second'   => 'Tr�fego enviado em $1/segundo',
     'Incoming Traffic in (\S+) per Minute'   => 'Tr�fego recebido em $1/minuto',
     'Outgoing Traffic in (\S+) per Minute'   => 'Tr�fego enviado em $1/minuto',
     'Incoming Traffic in (\S+) per Hour'     => 'Tr�fego recebido em $1/hora',
     'Outgoing Traffic in (\S+) per Hour'     => 'Tr�fego recebido em $1/hora',
     'at which time (.*) had been up for(.*)' => 'quando o $1, tinha um <I>uptime</I> de $2',
     '(\S+) per minute'			      => '$1/minuto',
     '(\S+) per hour'			      => '$1/hora',    
     '(.+)/s$'                                 => '$1/s',
     # '(.+)/min'                     => '$1/min',
     '(.+)/h$'                       => '$1/h',
     #'([kMG]?)([bB])/s'                       => '$1$2/s',
     #'([kMG]?)([bB])/min'                     => '$1$2/min',
     #'([kMG]?)([bB])/h'                       => '$1$2/h',
     # 'Bits'                                => 'Bits',
     # 'Bytes'                               => 'Bytes'
     '&nbsp;In:</FONT>'                       => '&nbsp;Rec.:</FONT>',
     '&nbsp;Out:</FONT>'                      => '&nbsp;Env.:</FONT>',
     '&nbsp;Percentage</FONT>'                => '&nbsp;Perc.:</FONT>',
     'Ported to OpenVMS Alpha by'             => 'Portado para OpenVMS Alpha por', 
     'Ported to WindowsNT by'                 => 'Portado para WindowsNT por',
     'and'                                    => 'e',
     '^GREEN'                                 => 'VERDE',
     'BLUE'                                   => 'AZUL',
     'DARK GREEN'                             => 'VERDE ESCURO',
     # 'MAGENTA'                                => 'MAGENTA',
     # 'AMBER'                               => 'AMBAR',
  );

# maybe expansions with replacement of whitespace would be more appropriate
foreach $i (keys %translations)
{
  if($string=~/$i/)
  { 
    (@dollar)=($string=~/()$i/); # I hope this prevents the autovars
    $string=$translations{$i};  # And it only works from $1-$9
    for($j=1;$dollar[$j];$j++)   # s/// doesn't do any good with saved "$1"-exprs.
    {
      @quux=();
      (@quux)=split(/\$$j/,$string);
      $string=$quux[0].$dollar[$j].$quux[1];
    } ; 
    return $string;
  };
};

%wday = 
    (
      'Sunday'    => 'Domingo',     'Sun' => 'Dom',
      'Monday'    => 'Segunda-Feira',      'Mon' => 'Seg',
      'Tuesday'   => 'Ter�a-Feira',    'Tue' => 'Ter',
      'Wednesday' => 'Quarta-Feira',    'Wed' => 'Qua',
      'Thursday'  => 'Quinta-Feira',  'Thu' => 'Qui',
      'Friday'    => 'Sexta-Feira',     'Fri' => 'Sex',
      'Saturday'  => 'S�bado',     'Sat' => 'Sab' 
    );

%month = 
    (
      'January'   => 'Janeiro',    'February'  => 'Fevereiro' ,    'March'     => 'Mar�o',
      'Jan'       => 'Jan',       'Feb'       => 'Fev',         'Mar'       => 'Mar',
      'April'     => 'Abril',     'May'       => 'Maio',         'June'      => 'Junho', 
      'Apr'       => 'Abr',       'May'       => 'Mai',         'Jun'       => 'Jun',
      'July'      => 'Julho',      'August'    => 'Agosto',      'September' => 'Setembro', 
      'Jul'       => 'Jul',       'Aug'       => 'Ago',         'Sep'       => 'Set', 
      'October'   => 'Outubro',   'November'  => 'Novembro',    'December'  => 'Dezembro', 
      'Oct'       => 'Out',       'Nov'       => 'Nov',         'Dec'       => 'Dez' 
    );

  @foo=($string=~/(\S+),\s+(\S+)\s+(\S+)(.*)/);
  if( $wday{$foo[0]} && $month{$foo[2]} )
    {
	if($foo[3]=~(/(.*)at(.*)/))
      { 
        @quux=split(/at/,$foo[3]);
        $foo[3]=$quux[0]." pelas ".$quux[1]; 
      };
      return "$wday{$foo[0]}, $foo[1] de $month{$foo[2]} de $foo[3]"; 
    };

#
# handle two different time/date formats:  
# return "$wday, $mday $month ".($year+1900)." at $hour:$min";
# return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
#

# handle nontranslated strings which ought to be translated
# print STDERR "$_\n" or print DEBUG "not translated $_";
# but then again we might not want/need to translate all strings
  
  return $string;

};