Hello, I am an upstream maintainer of po4a. We released po4a 0.40 in late July 2010 with a very short string freeze, and we told translators that they will have a much longer string freeze to update their translations in 0.40.1. Po4a 0.40 already migrated into testing, and we will release 0.40.1 on 2010-08-25. We fixed many inconsistencies in documentation, and received translation updates, which is why we would like to have po4a 0.40.1-1 shipped in squeeze instead of 0.40-1. Can this version be uploaded into unstable when it is released? (And later on migrated into testing) Unfortunately the diff is really huge because of those changes in documentation and thus PO files. Two files are attached: a. po4a_0.40-1_0.40.1-1.diff.bz2 has been created by this command debdiff --diffstat po4a_0.40-1.dsc po4a_0.40.1-1.dsc |\ filterdiff -p1 -x 'po/bin/*.po*' -x 'po/pod/*.po*' -x 't/*' |\ bzip2 > po4a_0.40-1_0.40.1-1.diff.bz2 b. po4a_0.40-1_0.40.1-1_code.diff is the same file which has been copied and hand edited to contain only code changes for your convenience: * In header entry of PO files, charset was set to utf-8 and is replaced by UTF-8 which is the canonical name. * Add Language field and change Content-Transfer-Encoding field in header entry of PO files to be consistent with recent xgettext. * Do not remove trailing spaces from translations if they are escaped. Closes: #593106 Regards, Denis
Attachment:
po4a_0.40-1_0.40.1-1.diff.bz2
Description: BZip2 compressed data
Original file has been created by these commands: debdiff --diffstat po4a_0.40-1.dsc po4a_0.40.1-1.dsc |\ filterdiff -p1 -x 'po/bin/*.po*' -x 'po/pod/*.po*' -x 't/*' |\ bzip2 > po4a_0.40-1_0.40.1-1.diff.bz2 cp po4a_0.40-1_0.40.1-1.diff.bz2 po4a_0.40-1_0.40.1-1_code.diff.bz2 It has later been hand edited to keep only code changes. diff -Nru po4a-0.40/Build.PL po4a-0.40.1/Build.PL --- po4a-0.40/Build.PL 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/Build.PL 2010-08-15 19:59:40.000000000 +0200 @@ -56,6 +56,7 @@ my $self = shift; $self->postats("po/bin"); $self->postats("po/pod"); + $self->postats("po/www") if -d "po/www"; } sub postats { my ($self,$dir) = (shift,shift); @@ -63,7 +64,7 @@ $potsize =~ /(.*)/; print "$dir (pot: $1)\n"; my @files = @{$self->rscan_dir($dir,qr{\.po$})}; - foreach (@files) { + foreach (sort @files) { $file = $_; $file =~ /.*\/(.*)\.po$/; my $lang = $1; diff -Nru po4a-0.40/lib/Locale/Po4a/Man.pm po4a-0.40.1/lib/Locale/Po4a/Man.pm --- po4a-0.40/lib/Locale/Po4a/Man.pm 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/lib/Locale/Po4a/Man.pm 2010-08-15 19:59:40.000000000 +0200 @@ -1065,7 +1065,7 @@ $str =~ s/\Q$nbs_out/\\ /sg if defined $nbs_out; # No nbsp (said "\ " in groff on the last pos of the line, or groff adds # an extra space - $str =~ s/\\ \n/\\ /sg; + $str =~ s/\\ \n(?=.)/\\ /sg; # Make sure we compute internal sequences right. # think about: B<AZE E<lt> EZA E<gt>> @@ -1158,7 +1158,7 @@ $str = $tmp.$str; } if (not defined $self->{type}) { - $str =~ s/ $//mg; + $str =~ s/(?<!\\) $//mg; } print STDERR "$str\n" if ($debug{'postrans'}); diff -Nru po4a-0.40/lib/Locale/Po4a/Po.pm po4a-0.40.1/lib/Locale/Po4a/Po.pm --- po4a-0.40/lib/Locale/Po4a/Po.pm 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/lib/Locale/Po4a/Po.pm 2010-08-15 19:59:40.000000000 +0200 @@ -195,9 +195,10 @@ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n". "Last-Translator: FULL NAME <EMAIL\@ADDRESS>\n". "Language-Team: LANGUAGE <LL\@li.org>\n". + "Language: \n". "MIME-Version: 1.0\n". "Content-Type: text/plain; charset=CHARSET\n". - "Content-Transfer-Encoding: ENCODING"); + "Content-Transfer-Encoding: 8bit\n"); $self->{encoder}=find_encoding("ascii"); @@ -597,7 +598,7 @@ if ( $poorig->get_charset =~ /^utf-8$/i ) { $potrans->to_utf8; - $pores->set_charset("utf-8"); + $pores->set_charset("UTF-8"); } else { if ($potrans->get_charset eq "CHARSET") { $pores->set_charset("ascii"); @@ -939,7 +940,7 @@ foreach my $msgid ( keys %{$this->{po}} ) { Encode::from_to($this->{po}{$msgid}{'msgstr'}, $charset, "utf-8"); } - $this->set_charset("utf-8"); + $this->set_charset("UTF-8"); } } diff -Nru po4a-0.40/lib/Locale/Po4a/TransTractor.pm po4a-0.40.1/lib/Locale/Po4a/TransTractor.pm --- po4a-0.40/lib/Locale/Po4a/TransTractor.pm 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/lib/Locale/Po4a/TransTractor.pm 2010-08-15 19:59:40.000000000 +0200 @@ -887,7 +887,7 @@ # We set the output po charset if ($out_charset eq "CHARSET") { if ($self->{TT}{utf_mode}) { - $out_charset="utf-8"; + $out_charset="UTF-8"; } else { $out_charset=$in_charset; } @@ -917,7 +917,7 @@ if ($options{'wrap'}||0) { $transstring =~ s/( *)$//s; my $trailing_spaces = $1||""; - $transstring =~ s/ *$//gm; + $transstring =~ s/(?<!\\) +$//gm; $transstring .= $trailing_spaces; } @@ -1006,7 +1006,7 @@ $charset=$self->{TT}{'file_out_charset'}; } else { if ($self->{TT}{utf_mode} && $self->{TT}{ascii_input}) { - $charset="utf-8"; + $charset="UTF-8"; } else { $charset=$self->{TT}{po_in}->get_charset; $charset=$self->{TT}{'file_in_charset'} diff -Nru po4a-0.40/Makefile po4a-0.40.1/Makefile --- po4a-0.40/Makefile 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/Makefile 2010-08-15 19:59:40.000000000 +0200 @@ -5,9 +5,12 @@ Build: Build.PL perl Build.PL +update-po: Build + $(MAKE) -C po/bin update-po + install: Build @./Build install destdir=$(DESTDIR) - make -C po/bin install DESTDIR=$(DESTDIR) + $(MAKE) -C po/bin install DESTDIR=$(DESTDIR) find $(DESTDIR) -type d -empty -delete clean: Build diff -Nru po4a-0.40/MANIFEST po4a-0.40.1/MANIFEST --- po4a-0.40/MANIFEST 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/MANIFEST 2010-08-15 19:59:40.000000000 +0200 @@ -94,6 +94,7 @@ po/pod/ja.po po/pod/pl.po po/pod/po4a-pod.pot +po/pod/ru.po po/pod.cfg # the binaries diff -Nru po4a-0.40/po/bin/Makefile po4a-0.40.1/po/bin/Makefile --- po4a-0.40/po/bin/Makefile 2010-07-27 22:10:05.000000000 +0200 +++ po4a-0.40.1/po/bin/Makefile 2010-08-15 19:59:40.000000000 +0200 @@ -108,11 +108,16 @@ check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist - srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m + srcdir=$(srcdir) $(INTLTOOL_UPDATE) -g $(srcdir) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi +update-po: all $(GETTEXT_PACKAGE).pot + $(RM) $(GETTEXT_PACKAGE).pot + $(GENPOT) + srcdir=$(srcdir) $(INTLTOOL_UPDATE) -g $(srcdir) -r + mostlyclean: rm -f *.pox *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache