aboutsummaryrefslogtreecommitdiffstats
path: root/check_trans.pl
diff options
context:
space:
mode:
authorJosip Rodin <joy>2001-07-23 20:13:56 +0000
committerJosip Rodin <joy>2001-07-23 20:13:56 +0000
commit636ee4635f48f65056f52644c32488b47b222276 (patch)
treeb5de5733db4d0d47dcff0e9f61bdf207dcfcf294 /check_trans.pl
parenta27ce4189bdaf8312f8b8bde6830b8bd1f94e621 (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-xcheck_trans.pl55
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 {

© 2014-2024 Faster IT GmbH | imprint | privacy policy