diff options
author | Josip Rodin <joy> | 2001-07-23 20:13:56 +0000 |
---|---|---|
committer | Josip Rodin <joy> | 2001-07-23 20:13:56 +0000 |
commit | 636ee4635f48f65056f52644c32488b47b222276 (patch) | |
tree | b5de5733db4d0d47dcff0e9f61bdf207dcfcf294 /check_trans.pl | |
parent | a27ce4189bdaf8312f8b8bde6830b8bd1f94e621 (diff) |
properly fixed figuring out that original file is in the translation and not english; somewhat reworked the code to figure out the variables from the file, stopped processing when things are found to speed it up, segregated the old style stuff and marked it as obsolete
CVS version numbers
check_trans.pl: 1.23 -> 1.24
Diffstat (limited to 'check_trans.pl')
-rwxr-xr-x | check_trans.pl | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/check_trans.pl b/check_trans.pl index 585ae1c4667..982ae21ad5b 100755 --- a/check_trans.pl +++ b/check_trans.pl @@ -413,7 +413,7 @@ sub add_sub_part { sub check_file { my ($name, $revision, $translator) = @_; - my ($oldr, $oldname); + my ($oldr, $oldname, $original); warn "Checking $name english revision $revision\n" if $opt_v; unless (-r $name) { unless ($opt_q) { @@ -428,20 +428,53 @@ sub check_file { } open(F, $name) || die $!; while(<F>) { - if (/translation(\s+|=")([.0-9]*)("|\s*-->)/oi) { - warn "Found revision $2\n" if $opt_v; - $oldr = $2; + if (/wml::debian::translation-check/i) { + if (/translation="([^"]+)"/i) { + $oldr = $1; + warn "Found revision $oldr\n" if $opt_v; + } + if (/maintainer="([^"]+)"/i) { + $translator = $1; + warn "Translated by $translator\n" if $opt_v; + } + if (/original="([^"]+)"/i) { + $original = $1; + warn "Original is $original\n" if $opt_v; + } + last; } - if (/wml::debian::translation-check.*?maintainer(\s+|=")(.*)("|\s*-->)/oi) { - warn "Translated by $2\n" if $opt_v; - $translator=$2 if ($translator eq ""); + # the following old style cases should be removed eventually + if (/translation\s+([.0-9]*)\s*-->/oi) { + $oldr = $1; + warn "Found revision $oldr\n" if $opt_v; } if (/Translat(.*?): (.*)$/i) { - warn "Translated by $2\n" if $opt_v; $translator=$2 if ($translator eq ""); + warn "Translated by $translator\n" if $opt_v; } + last if (($oldr) && ($translator)); } close(F); + + if ((!$oldr) && ($name =~ /$langto\/international\/$langto/i)) { + ($ename = $name) =~ s/$to/$from/; + open FE, $ename || die $!; + while (<FE>) { + if (/wml::debian::translation-check/i) { + if (/translation="([^"]+)"/i) { + $oldr = $1; + warn "Found revision $1\n" if $opt_v; + } + if (/original="([^"]+)"/i) { + $original = $1; + warn "Original is $1\n" if $opt_v; + } + last; + } + } + close FE; + } + return if (defined($oldr) && ($oldr eq $revision)); $translator =~ s/^\s*(.*?)\s*/$1/; @@ -449,11 +482,7 @@ sub check_file { my $str; if (!$oldr) { $oldr = '1.1'; - if ($name !~ /$langto\/international\/$langto/i) { - $str = "Unknown status of $name (revision should be $revision)"; - } else { - warn "Ignoring $name\n" if $opt_v; - } + $str = "Unknown status of $name (revision should be $revision)"; } elsif ($oldr >> $revision) { $str = "Broken revision number $oldr for $name, it should be $revision"; } else { |