[LyX/master] Output summary at the end while comparing po-files
Kornel Benko <[email protected]>
| Newsgroups | gmane.editors.lyx.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 6318b71a94b55382fe5870ded0555f1f7f94c46f Author: Kornel Benko <[email protected]> Date: Tue Mar 31 19:11:58 2026 +0200 Output summary at the end while comparing po-files --- po/diff_po.pl | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/po/diff_po.pl b/po/diff_po.pl index f47fbb6e5f..21df2d8abb 100755 --- a/po/diff_po.pl +++ b/po/diff_po.pl @@ -96,6 +96,7 @@ my %Fuzzy = (); # inside new po-file my $result = 0; # exit value my $printlines = 1; my @names = (); +my @lastOut = (); my %options = ( "--display-fuzzy" => 1, "--display-untranslated" => 1, @@ -229,6 +230,17 @@ else { diff_po(@ARGV); } +my $lastfound = 0; +for my $msg (@lastOut) { + if (!$lastfound) { + $lastfound = 1; + print "#######################################\n"; + } + print "$msg"; +} +if ($lastfound) { + print "#######################################\n"; +} exit($result); ######################################################### @@ -304,7 +316,11 @@ sub diff_po(@) print RED "<<< \"$names[0]\"\n", RESET; print GREEN ">>> \"$names[1]\"\n", RESET; + my $count = 0; for my $k (@MsgKeys) { + if ($k ne "") { + $count += 1; + } if ($newMessages{$k}->{msgstr} eq "") { # this is still untranslated string $Untranslated{$newMessages{$k}->{line}} = $k; @@ -316,12 +332,16 @@ sub diff_po(@) $Fuzzy{$newMessages{$k}->{line}} = $k; } } + if ($newMessages{$k}->{alternative}) { + $count -= 1; + } if (exists($Messages{$k})) { printIfDiff($k, $Messages{$k}, $newMessages{$k}); delete($Messages{$k}); delete($newMessages{$k}); } } + push(@lastOut, "$count\t# of processed po-entries\n"); if (0) { @MsgKeys = sort keys %Messages, keys %newMessages; @@ -378,7 +398,7 @@ sub check_po_file_readable($$) my ($spec, $filename) = @_; if (! -e $filename ) { - die("$spec po file does not exist"); + die("$spec po file does not exist ($filename)"); } if ( ! -f $filename ) { die("$spec po file is not regular"); @@ -415,8 +435,10 @@ sub printIfDiff($$$) { my ($k, $rM, $rnM) = @_; my $doprint = 0; - $doprint = 1 if ($rM->{fuzzy} != $rnM->{fuzzy}); - $doprint = 1 if ($rM->{msgstr} ne $rnM->{msgstr}); + if ($k ne "") { # Don't check po-header which has msgid == "" + $doprint = 1 if ($rM->{fuzzy} != $rnM->{fuzzy}); + $doprint = 1 if ($rM->{msgstr} ne $rnM->{msgstr}); + } if ($doprint) { $result |= 4; printDiff($k, $k, $rM, $rnM); @@ -430,7 +452,7 @@ sub printExtraMessages($$$) my @sortedExtraKeys = sort { $a <=> $b;} keys %{$rExtra}; if (@sortedExtraKeys > 0) { - print "Still " . 0 + @sortedExtraKeys . " $type messages found in $rNames->[1]\n"; + push(@lastOut, "" . (0 + @sortedExtraKeys) . "\t$type messages found in $rNames->[1]\n"); for my $l (@sortedExtraKeys) { print "> line $l: \"" . $rExtra->{$l} . "\"\n"; } -- lyx-cvs mailing list [email protected] https://lists.lyx.org/mailman/listinfo/lyx-cvs