X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=po%2Fpocheck.pl;h=9dd416026af21ff708e7b845e32e50a5e2fa02e1;hb=909963fd5a542c60ccf2632c9a777a08f122a065;hp=f1e0e189827f8eda6fb345268d66b04fd356e758;hpb=98a2a87ae7b9d5986500b0aab08f5dc10d685d8f;p=lyx.git diff --git a/po/pocheck.pl b/po/pocheck.pl index f1e0e18982..9dd416026a 100755 --- a/po/pocheck.pl +++ b/po/pocheck.pl @@ -15,41 +15,53 @@ use Getopt::Std; my $usage = < $n; } if ($n <= 0) { - print "Problem finding arguments in:\n $msgid!\non line $linenum.\n"; + print "$pofilename, line $linenum: Problem finding arguments in:\n $msgid!\n" + unless $only_total; + ++$bad{"Missing arguments"}; $warn++; } else { foreach my $i (1..$n) { my $arg = "%$i\\\$s"; if ( $msgstr !~ m/$arg/ ) { - print "Line $linenum: Missing argument `$arg'\n '$msgid' ==> '$msgstr'\n"; + print "$pofilename, line $linenum: Missing argument `$arg'\n '$msgid' ==> '$msgstr'\n" + unless $only_total; + ++$bad{"Missing arguments"}; $warn++; } } @@ -116,8 +139,9 @@ foreach my $pofilename ( @ARGV ) if ($check_colons) { # Check colon at the end of a message if ( ( $msgid =~ m/: *(\|.*)?$/ ) != ( $msgstr =~ m/: *(\|.*)?$/ ) ) { - print( "Line $linenum: Missing or unexpected colon:\n" ); - print( " '$msgid' => '$msgstr'\n" ); + print "Line $linenum: Missing or unexpected colon:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad colons"}; $warn++; } } @@ -125,8 +149,9 @@ foreach my $pofilename ( @ARGV ) if ($check_periods) { # Check period at the end of a message; uncomment code if you are paranoid if ( ( $msgid =~ m/\. *(\|.*)?$/ ) != ( $msgstr =~ m/\. *(\|.*)?$/ ) ) { - print( "Line $linenum: Missing or unexpected period:\n" ); - print( " '$msgid' => '$msgstr'\n" ); + print "Line $linenum: Missing or unexpected period:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad periods"}; $warn++; } } @@ -134,8 +159,9 @@ foreach my $pofilename ( @ARGV ) if ($check_spaces) { # Check space at the end of a message if ( ( $msgid =~ m/ *?(\|.*)?$/ ) != ( $msgstr =~ m/ *?(\|.*)?$/ ) ) { - print( "Line $linenum: Missing or unexpected space:\n" ); - print( " '$msgid' => '$msgstr'\n" ); + print "Line $linenum: Missing or unexpected space:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad spaces"}; $warn++; } } @@ -143,8 +169,9 @@ foreach my $pofilename ( @ARGV ) if ($check_qt) { # Check for "&" shortcuts if ( ( $msgid =~ m/&[^ ]/ ) != ( $msgstr =~ m/&[^ ]/ ) ) { - print( "Line $linenum: Missing or unexpected Qt shortcut:\n" ); - print( " '$msgid' => '$msgstr'\n" ); + print "Line $linenum: Missing or unexpected Qt shortcut:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad Qt shortcuts"}; $warn++; } } @@ -152,8 +179,9 @@ foreach my $pofilename ( @ARGV ) if ($check_menu) { # Check for "|..." shortcuts if ( ( $msgid =~ m/\|[^ ]/ ) != ( $msgstr =~ m/\|[^ ]/ ) ) { - print( "Line $linenum: Missing or unexpected menu shortcut:\n" ); - print( " '$msgid' => '$msgstr'\n" ); + print "Line $linenum: Missing or unexpected menu shortcut:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad menu shortcuts"}; $warn++; } } @@ -187,14 +215,28 @@ foreach my $pofilename ( @ARGV ) # do we have more than one such key? if ( $#msgstrkeys > 0 ) { - print( "Different translations for '$msgid':\n" ); - foreach $msgstr ( @msgstrkeys ) { - print( "Line $trans{$msgid}{$msgstr}[2]: '" . $trans{$msgid}{$msgstr}[0] . "' => '" . $trans{$msgid}{$msgstr}[1] . "'\n" ); + if (!$only_total) { + print "Different translations for '$msgid':\n"; + foreach $msgstr ( @msgstrkeys ) { + print "Line $ref->{$msgstr}[2]: '" . + $ref->{$msgstr}[0] . "' => '" . + $ref->{$msgstr}[1] . "'\n"; + } } + ++$bad{"Inconsistent translations"}; $warn++; } } } - - print( "\nTotal number of warnings: $warn\n\n" ); + if (!$silent_mode) { + if ($warn) { + while (my ($k, $v) = each %bad) { print "$k: $v\n"; } + if (scalar(keys %bad) > 1) { + print "Total warnings: $warn\n"; + } + } else { + print "No warnings!\n"; + } + print "\n"; + } }