| 98 |
my $cutfrom = length ($config{'wmldir'})+length($lang)+2; |
my $cutfrom = length ($config{'wmldir'})+length($lang)+2; |
| 99 |
my $count = 0; |
my $count = 0; |
| 100 |
my $is_english = ($lang eq "english")?1:0; |
my $is_english = ($lang eq "english")?1:0; |
| 101 |
my $file, $v; |
my ( $file, $v ); |
| 102 |
my @listfiles; |
my @listfiles; |
| 103 |
|
|
| 104 |
print "$lang " if ($config{verbose}); |
print "$lang " if ($config{verbose}); |
| 135 |
} |
} |
| 136 |
$count++; |
$count++; |
| 137 |
} |
} |
|
close (FIND); |
|
| 138 |
$wmlfiles{$lang} .= " "; |
$wmlfiles{$lang} .= " "; |
| 139 |
$wml{$lang} = $count; |
$wml{$lang} = $count; |
| 140 |
} |
} |
| 153 |
sub check_translation |
sub check_translation |
| 154 |
{ |
{ |
| 155 |
my ($translation, $version, $file) = @_; |
my ($translation, $version, $file) = @_; |
| 156 |
my @version_numbers, $major_number, $last_number; |
my ( @version_numbers, $major_number, $last_number ); |
| 157 |
my @translation_numbers, $major_translated_number, $last_translated_number; |
my ( @translation_numbers, $major_translated_number, $last_translated_number ); |
| 158 |
|
|
| 159 |
if ($version ne "" && $translation ne "") { |
if ( $version && $translation ) { |
| 160 |
@version_numbers = split /\./,$version; |
@version_numbers = split /\./,$version; |
| 161 |
$major_number = @version_numbers[0]; |
$major_number = $version_numbers[0]; |
| 162 |
$last_number = pop @version_numbers; |
$last_number = pop @version_numbers; |
| 163 |
die "Invalid CVS revision for $file: $version\n" |
die "Invalid CVS revision for $file: $version\n" |
| 164 |
unless ($major_number =~ /\d+/ && $last_number =~ /\d+/); |
unless ($major_number =~ /\d+/ && $last_number =~ /\d+/); |
| 165 |
|
|
| 166 |
@translation_numbers = split /\./,$translation; |
@translation_numbers = split /\./,$translation; |
| 167 |
$major_translated_number = @translation_numbers[0]; |
$major_translated_number = $translation_numbers[0]; |
| 168 |
$last_translated_number = pop @translation_numbers; |
$last_translated_number = pop @translation_numbers; |
| 169 |
die "Invalid translation revision for $file: $translation\n" |
die "Invalid translation revision for $file: $translation\n" |
| 170 |
unless ($major_translated_number =~ /\d+/ && $last_translated_number =~ /\d+/); |
unless ($major_translated_number =~ /\d+/ && $last_translated_number =~ /\d+/); |
| 173 |
# a note for the user if their first or last numbers are too far apart |
# a note for the user if their first or last numbers are too far apart |
| 174 |
# From translation-check.wml |
# From translation-check.wml |
| 175 |
|
|
| 176 |
if ($version eq "") { |
if ( $major_number != $major_translated_number ) { |
|
return "The original no longer exists"; |
|
|
} elsif ( $major_number != $major_translated_number ) { |
|
| 177 |
return "This translation is too out of date"; |
return "This translation is too out of date"; |
| 178 |
} elsif ( $last_number - $last_translated_number >= $max_versions ) { |
} elsif ( $last_number - $last_translated_number >= $max_versions ) { |
| 179 |
return "This translation is too out of date"; |
return "This translation is too out of date"; |
| 180 |
} elsif ( $last_number - $last_translated_number >= $min_versions ) { |
} elsif ( $last_number - $last_translated_number >= $min_versions ) { |
| 181 |
return "The original is newer than this translation"; |
return "The original is newer than this translation"; |
| 182 |
} |
} |
| 183 |
|
} elsif ( !$version && $transversion) { |
| 184 |
|
return "The original no longer exists"; |
| 185 |
} |
} |
| 186 |
return ""; |
return ""; |
| 187 |
} |
} |
| 206 |
|
|
| 207 |
# Compute stats about gettext files |
# Compute stats about gettext files |
| 208 |
print "Computing statistics in gettext files... " if ($config{'verbose'}); |
print "Computing statistics in gettext files... " if ($config{'verbose'}); |
| 209 |
my %po_translated,%po_fuzzy,%po_untranslated,%po_total; |
my ( %po_translated, %po_fuzzy, %po_untranslated, %po_total ); |
| 210 |
my %percent_po_t,%percent_po_u,%percent_po_f; |
my ( %percent_po_t, %percent_po_u, %percent_po_f ); |
| 211 |
foreach $lang (@search_in) { |
foreach $lang (@search_in) { |
| 212 |
next if $lang eq 'english'; |
next if $lang eq 'english'; |
| 213 |
$l = $langs{$lang}; |
$l = $langs{$lang}; |