~ubuntu-branches/ubuntu/utopic/bubblemon/utopic

« back to all changes in this revision

Viewing changes to intltool-extract

  • Committer: Bazaar Package Importer
  • Author(s): Jose Carlos Medeiros
  • Date: 2008-01-15 19:18:40 UTC
  • mfrom: (1.1.4 upstream) (3.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20080115191840-up505jro46wef053
Tags: 2.0.9-1
* New upstream release. (Closes: #158667)
* debian/control:
  - Bump Standards-Version: 3.7.3.
  - Added Homepage header and removed old pseudo header.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
## Release information
33
33
my $PROGRAM      = "intltool-extract";
34
34
my $PACKAGE      = "intltool";
35
 
my $VERSION      = "0.34.1";
 
35
my $VERSION      = "0.37.0";
36
36
 
37
37
## Loaded modules
38
38
use strict; 
114
114
sub place_normal {
115
115
    $FILE        = $ARGV[0];
116
116
    $OUTFILE     = "$FILE.h";
 
117
 
 
118
    my $dirname = dirname ($OUTFILE);
 
119
    if (! -d "$dirname" && $dirname ne "") {
 
120
        system ("mkdir -p $dirname");
 
121
    }
117
122
}   
118
123
 
119
124
sub place_local {
156
161
      --type=TYPE   Specify the file type of FILENAME. Currently supports:
157
162
                    "gettext/glade", "gettext/ini", "gettext/keys"
158
163
                    "gettext/rfc822deb", "gettext/schemas",
159
 
                    "gettext/scheme", "gettext/xml"
 
164
                    "gettext/scheme", "gettext/xml", "gettext/quoted",
 
165
                    "gettext/quotedxml"
160
166
  -l, --local       Writes output into current working directory
161
167
                    (conflicts with --update)
162
168
      --update      Writes output into the same directory the source file 
212
218
    &type_scheme if $gettext_type eq "scheme";
213
219
    &type_schemas  if $gettext_type eq "schemas";
214
220
    &type_rfc822deb  if $gettext_type eq "rfc822deb";
 
221
    &type_quoted if $gettext_type eq "quoted";
 
222
    &type_quotedxml if $gettext_type eq "quotedxml";
215
223
}
216
224
 
217
225
sub entity_decode_minimal
231
239
 
232
240
    s/'/'/g; # '
233
241
    s/"/"/g; # "
234
 
    s/&/&/g;
235
242
    s/&lt;/</g;
236
243
    s/&gt;/>/g;
 
244
    s/&amp;/&/g;
237
245
 
238
246
    return $_;
239
247
}
242
250
{
243
251
    return '\"' if $_ eq '"';
244
252
    return '\n' if $_ eq "\n";
245
 
    return '\\' if $_ eq '\\';
 
253
    return '\\\\' if $_ eq '\\';
246
254
 
247
255
    return $_;
248
256
}
255
263
 
256
264
sub type_ini {
257
265
    ### For generic translatable desktop files ###
258
 
    while ($input =~ /^_.*=(.*)$/mg) {
259
 
        $messages{$1} = [];
 
266
    while ($input =~ /^(#(.+)\n)?^_.*=(.*)$/mg) {
 
267
        if (defined($2))  {
 
268
            $comments{$3} = $2;
 
269
        }
 
270
        $messages{$3} = [];
260
271
    }
261
272
}
262
273
 
485
496
sub intltool_tree_comment
486
497
{
487
498
    my $expat = shift;
488
 
    my $data  = shift;
 
499
    my $data  = $expat->original_string();
489
500
    my $clist = $expat->{Curlist};
490
501
    my $pos   = $#$clist;
491
502
 
 
503
    $data =~ s/^<!--//s;
 
504
    $data =~ s/-->$//s;
492
505
    push @$clist, 1 => $data;
493
506
}
494
507
 
709
722
    return @list;
710
723
}
711
724
 
 
725
sub type_quoted {
 
726
    while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) {
 
727
        my $message = $1;
 
728
        my $before = $`;
 
729
        $message =~ s/\\\"/\"/g;
 
730
        $before =~ s/[^\n]//g;
 
731
        $messages{$message} = [];
 
732
        $loc{$message} = length ($before) + 2;
 
733
    }
 
734
}
 
735
 
 
736
sub type_quotedxml {
 
737
    while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) {
 
738
        my $message = $1;
 
739
        my $before = $`;
 
740
        $message =~ s/\\\"/\"/g;
 
741
        $message = entity_decode($message);
 
742
        $before =~ s/[^\n]//g;
 
743
        $messages{$message} = [];
 
744
        $loc{$message} = length ($before) + 2;
 
745
    }
 
746
}
 
747
 
712
748
sub type_glade {
713
749
    ### For translatable Glade XML files ###
714
750