summaryrefslogtreecommitdiff
path: root/4.4-i18n-migration/regcat/regcat-i18n-extract-all.pl
blob: c191b9f9383cea96508baa82e3cfa164651ac5e8 (plain)
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
#!/usr/bin/perl -w

use strict;

my @xmlfiles = <../../modules/menu/xfce-registered-categories.xml.*>;

foreach my $xf (@xmlfiles) {
    my $lang = $1 if($xf =~ /\.(\w+)$/);
    die("lang is empty for $xf") if(!length($lang));
    
    open(REGXML, '<'.$xf) or die("can't open $xf: $!");
    open(POFILE, '>'.$lang.'.po') or die("can't write to $lang.po: $!");
    
    my $in_comment = 0;
    while(my $line = <REGXML>) {
        $in_comment = 1 if(!$in_comment && $line =~ /<!--/);
        $in_comment = 0 if($in_comment && $line =~ /-->/);
        
        next if $in_comment;
        
        if($line =~  /name="(.*?)"/) {
            my $name = $1;
            my $replace = '';
            $replace = $1 if($line =~ /replace="(.*?)"/);
            
            print POFILE qq(msgid "$name"\nmsgstr "$replace"\n\n);
        }
    }
    
    close(REGXML);
    close(POFILE);
}