/[bibulus]/bibulus/Bibulus/general.pm
ViewVC logotype

Diff of /bibulus/Bibulus/general.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by twid, Sun Jul 20 20:32:18 2003 UTC revision 1.2 by twid, Mon Jul 21 12:52:42 2003 UTC
# Line 4  use strict; Line 4  use strict;
4  use warnings;  use warnings;
5  use Carp;  use Carp;
6    
7  sub test {  sub populate {
8    my $self = shift;    my $self = shift;
9    print STDERR ">>>$self<<<\n";    $self->{LANGTEXT}{general}{mastersthesis} ||= '[default:mastersthesis]';
10    return $self->{LNG}{test};    $self->{LANGTEXT}{general}{and} ||= '[default:and]';
11      $self->{LANGTEXT}{general}{comma} ||= ', ';
12      $self->{LANGTEXT}{general}{fullstop} ||= '. ';
13      $self->{LANGTEXT}{general}{in} ||= '[default:in]';
14      $self->{LANGTEXT}{general}{edition} ||= '[default:edition]';
15      $self->{LANGTEXT}{general}{technicalreport} ||= '[default:technicalreport]';
16      $self->{LANGTEXT}{general}{numberabbr} ||= '[default:numberabbr]';
17      $self->{LANGTEXT}{general}{chapter} ||= '[default:chapter]';
18      $self->{LANGTEXT}{general}{phdthesis} ||= '[default:phdthesis]';
19      $self->{LANGTEXT}{general}{volume} ||= '[default:volume]';
20      $self->{LANGTEXT}{general}{of} ||= '[default:of]';
21      $self->{LANGTEXT}{general}{number} ||= '[default:number]';
22    
23      $self->{LANGINIT}{general} = 1;
24  }  }
25    
26  sub and {  sub and {
27    return "og";    my $self = shift;
28      return $self->{LANGTEXT}{$self->{LANG}}{and};
29  }  }
30    
31  sub comma {  sub comma {
32    return ', ';    my $self = shift;
33      return $self->{LANGTEXT}{$self->{LANG}}{comma};
34  }  }
35    
36  sub fullstop {  sub fullstop {
37    return '. ';    my $self = shift;
38      return $self->{LANGTEXT}{$self->{LANG}}{fullstop};
39  }  }
40    
41  sub in {  sub in {
42    my $self = shift;    my $self = shift;
43    my $t = shift;    my $t = shift;
44    return 'i' . $self->nobreakspace . $t;    return $self->{LANGTEXT}{$self->{LANG}}{in} . $self->nobreakspace . $t;
45  }  }
46    
47  sub edition {  sub edition {
48    my $self = shift;    my $self = shift;
49    my $num = shift;    my $num = shift;
50    return $self->ordinal($num) . ' udgave';    return $self->ordinal($num) . ' '
51        . $self->{LANGTEXT}{$self->{LANG}}{edition};
52  }  }
53    
54  sub technicalreport {  sub technicalreport {
55    my $self = shift;    my $self = shift;
56    my $num = shift;    my $num = shift;
57    my $t = 'teknisk rapport';    my $t = $self->{LANGTEXT}{$self->{LANG}}{technicalreport};
58    if ($num) {    if ($num) {
59      $t .= ' nr.' . $self->nobreakspace . $num;      $t .= ' ' . $self->{LANGTEXT}{$self->{LANG}}{numberabbr}
60          . $self->nobreakspace . $num;
61    }    }
62    return $t;    return $t;
63  }  }
# Line 48  sub chapter { Line 66  sub chapter {
66    my $self = shift;    my $self = shift;
67    my ($ch) = @_;    my ($ch) = @_;
68    
69    return 'kapitel' . $self->nobreakspace . $ch;    return $self->{LANGTEXT}{$self->{LANG}}{chapter}
70        . $self->nobreakspace . $ch;
71  }  }
72    
73  sub phdthesis {  sub phdthesis {
74    return 'ph.d.-afhandling';    my $self = shift;
75      return $self->{LANGTEXT}{$self->{LANG}}{phdthesis};
76  }  }
77    
78  sub mastersthesis {  sub mastersthesis {
79    return 'speciale';    my $self = shift;
80      return $self->{LANGTEXT}{$self->{LANG}}{mastersthesis};
81  }  }
82    
83  sub volume {  sub volume {
84    my $self = shift;    my $self = shift;
85    my $vol = shift;    my $vol = shift;
86    my $series = shift;    my $series = shift;
87      my $volword = $self->{LANGTEXT}{$self->{LANG}}{volume};
88    if (!$series) {    if (!$series) {
89      return 'bind' . $self->nobreakspace . $vol;      return $volword . $self->nobreakspace . $vol;
90    } else {    } else {
91      return 'bind' . $self->nobreakspace . $vol . ' af'      return $volword . $self->nobreakspace . $vol . $self->{LANGTEXT}{$self->{LANG}}{of}
92        . $self->nobreakspace . $series;        . $self->nobreakspace . $series;
93    }    }
94  }  }
# Line 75  sub numberseries { Line 97  sub numberseries {
97    my $self = shift;    my $self = shift;
98    my ($number, $series) = @_;    my ($number, $series) = @_;
99    
100    my $t = 'nummer' . $self->nobreakspace . $number;    my $t = $self->{LANGTEXT}{$self->{LANG}}{number} . $self->nobreakspace . $number;
101    if ($series) {    if ($series) {
102      $t .= ' i' . $self->nobreakspace .$series;      $t .= ' ' . $self->{LANGTEXT}{$self->{LANG}}{in} . $self->nobreakspace .$series;
103    }    }
104    return $t;    return $t;
105  }  }
# Line 86  sub ordinal { Line 108  sub ordinal {
108    my $self = shift;    my $self = shift;
109    my ($number) = @_;    my ($number) = @_;
110    
111    unless ($number =~ /^\d+$/) {    return "[general:ordinal:$number]";
     $self->warning("$number is not numeric");  
     return $number;  
   }  
   
   if ($self->{ORDABBR}) {  
     return $number . '.';  
   }  
   
   if ($number < 20) {  
     return qw(første anden tredie fjerde femte  
               sjette syvende ottende niende tiende  
               ellevte tolvte trettende fjortende femtende  
               sekstende syttende attende nittende)[$number - 1];  
   } elsif ($number < 100) {  
     my ($ten, $one) = (int($number / 10), $number % 10);  
     my $res;  
     $res = ('', 'enog', 'toog', 'treog', 'fireog', 'femog',  
             'seksog', 'syvog', 'otteog', 'niog')[$one];  
     $ten -= 2;  
     return $res . qw(tyvende tredivte fyrretyvende halvtredsindstyvende  
                      tresindstyvende halvfjerdsindstyvende firsindstyvende  
                      halvfemsindstyvende)[$ten];  
   } else {  
     warn "I don't know how to say $number"."th in Danish";  
     return $number . '.';  
   }  
112  }  }
113    
114    
# Line 123  __END__ Line 119  __END__
119    
120  Bibulus::general -- fall-back language support  Bibulus::general -- fall-back language support
121    
 =head1 SYNOPSIS  
   
   Bibulus::Lang::da - Bibulus support for Danish  
   
 =head1 DESCRIPTION  
   
 =head2 EXPORT  
   
 None.  
   
122  =head1 SEE ALSO  =head1 SEE ALSO
123    
124  F<Bibulus>.  F<Bibulus>.

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26