X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=po%2Fpocheck.pl;h=69bc405b2b947b1c1b9a59f5a850cebdee2b8d97;hb=80f98a49a8bdbe6dd89b6b4dc584ecae17c18ebd;hp=b7d8db4acaafa61b8c4f3a7b8eab8239050cfde6;hpb=be647db7c0238d37725389f4c693ceba9e1433fb;p=lyx.git diff --git a/po/pocheck.pl b/po/pocheck.pl index b7d8db4aca..69bc405b2b 100755 --- a/po/pocheck.pl +++ b/po/pocheck.pl @@ -1,18 +1,18 @@ -#! /usr/bin/perl -w +#! /usr/bin/perl -w # file pocheck.pl # # This file is part of LyX, the document processor. # Licence details can be found in the file COPYING. # -# author: Michael Schmitt, michael.schmitt@teststep.org +# author: Michael Gerz, michael.gerz@teststep.org # # This script performs some consistency checks on po files: # # 1. Uniform translation of messages that are identical except # for capitalization, shortcuts, and shortcut notation. -# 2. Usage of the following elements in both the original and -# the translated message (or no usage at all): +# 2. Usage of the following elements in both the original and +# the translated message (or no usage at all): # shortcuts ("&" and "|..."), trailing space, trailing colon # # Invocation: @@ -22,7 +22,7 @@ foreach $pofilename ( @ARGV ) { print "Processing po file '$pofilename'...\n"; - open( INPUT, "<$pofilename" ) + open( INPUT, "<$pofilename" ) || die "Cannot read po file '$pofilename'"; @pofile = ; close( INPUT ); @@ -31,9 +31,9 @@ foreach $pofilename ( @ARGV ) keys( %trans ) = 10000; $noOfLines = $#pofile; - + $warn = 0; - + $i = 0; while ($i <= $noOfLines) { if ( ( $msgid ) = ( $pofile[$i] =~ m/^msgid "(.*)"/ ) ) { @@ -45,7 +45,7 @@ foreach $pofilename ( @ARGV ) until ( ( $msgstr ) = ( $pofile[$i] =~ m/^msgstr "(.*)"/ ) ) { $i++; }; $i++; - while ( ( $i <= $noOfLines ) && + while ( ( $i <= $noOfLines ) && ( ( $more ) = $pofile[$i] =~ m/^"(.*)"/ ) ) { $msgstr = $msgstr . $more; $i++; @@ -81,20 +81,20 @@ foreach $pofilename ( @ARGV ) $warn++; } - # Check for "|..." shortcut(s) + # Check for "|..." shortcuts if ( ( $msgid =~ m/\|[^ ]/ ) != ( $msgstr =~ m/\|[^ ]/ ) ) { - print( "Missing or unexpected xforms shortcut:\n" ); + print( "Missing or unexpected menu shortcut:\n" ); print( " '$msgid' => '$msgstr'\n" ); $warn++; } - - $msgid_clean = lc($msgid); + + $msgid_clean = lc($msgid); $msgstr_clean = lc($msgstr); - $msgid_clean =~ s/\|.*?$//; - $msgid_clean =~ s/&([^ ])/$1/; - $msgstr_clean =~ s/\|.*?$//; - $msgstr_clean =~ s/&([^ ])/$1/; + $msgid_clean =~ s/(.*)\|.*?$/$1/; # strip menu shortcuts + $msgstr_clean =~ s/(.*)\|.*?$/$1/; + $msgid_clean =~ s/&([^ ])/$1/; # strip Qt shortcuts + $msgstr_clean =~ s/&([^ ])/$1/; $trans{$msgid_clean}{$msgstr_clean} = [ $msgid, $msgstr ]; }