r38792 - in /trunk/liblocale-msgfmt-perl: ./ debian/ dev/ lib/Locale/ lib/Locale/Msgfmt/ t/ t/samples/

ryan52-guest at users.alioth.debian.org ryan52-guest at users.alioth.debian.org
Fri Jun 26 23:32:52 UTC 2009


Author: ryan52-guest
Date: Fri Jun 26 23:32:47 2009
New Revision: 38792

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=38792
Log:
New upstream release

Added:
    trunk/liblocale-msgfmt-perl/dev/compare-all
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/dev/compare-all
    trunk/liblocale-msgfmt-perl/t/samples/build
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/t/samples/build
    trunk/liblocale-msgfmt-perl/t/samples/context.mo
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/t/samples/context.mo
    trunk/liblocale-msgfmt-perl/t/samples/context.po
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/t/samples/context.po
    trunk/liblocale-msgfmt-perl/t/samples/ngettext.mo
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/t/samples/ngettext.mo
    trunk/liblocale-msgfmt-perl/t/samples/ngettext.po
      - copied unchanged from r38791, branches/upstream/liblocale-msgfmt-perl/current/t/samples/ngettext.po
Modified:
    trunk/liblocale-msgfmt-perl/Changes
    trunk/liblocale-msgfmt-perl/MANIFEST
    trunk/liblocale-msgfmt-perl/META.yml
    trunk/liblocale-msgfmt-perl/debian/changelog
    trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt.pm
    trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/Utils.pm
    trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/mo.pm
    trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/po.pm
    trunk/liblocale-msgfmt-perl/t/msgfmt.t

Modified: trunk/liblocale-msgfmt-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/Changes?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/Changes (original)
+++ trunk/liblocale-msgfmt-perl/Changes Fri Jun 26 23:32:47 2009
@@ -1,4 +1,8 @@
 Revision history for Locale-Msgfmt
+
+0.06    Jun 26, 2009
+        add support for contexts
+        add support for ngettext
 
 0.05    Jun 25, 2009
         don't run the external script from the tests

Modified: trunk/liblocale-msgfmt-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/MANIFEST?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/MANIFEST (original)
+++ trunk/liblocale-msgfmt-perl/MANIFEST Fri Jun 26 23:32:47 2009
@@ -2,6 +2,7 @@
 Build.PL
 Changes
 dev/compare
+dev/compare-all
 dev/dump-mo
 dev/dump-po
 lib/Locale/Msgfmt.pm
@@ -13,7 +14,12 @@
 t/00-load.t
 t/msgfmt.t
 t/pod.t
+t/samples/build
+t/samples/context.mo
+t/samples/context.po
 t/samples/fr-fr.mo
 t/samples/fr-fr.po
+t/samples/ngettext.mo
+t/samples/ngettext.po
 Makefile.PL
 META.yml

Modified: trunk/liblocale-msgfmt-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/META.yml?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/META.yml (original)
+++ trunk/liblocale-msgfmt-perl/META.yml Fri Jun 26 23:32:47 2009
@@ -1,6 +1,6 @@
 ---
 name: Locale-Msgfmt
-version: 0.05
+version: 0.06
 author:
   - 'Ryan Niebur <ryanryan52 at gmail.com>'
 abstract: Compile .po files to .mo files
@@ -12,16 +12,16 @@
 provides:
   Locale::Msgfmt:
     file: lib/Locale/Msgfmt.pm
-    version: 0.05
+    version: 0.06
   Locale::Msgfmt::Utils:
     file: lib/Locale/Msgfmt/Utils.pm
-    version: 0.05
+    version: 0.06
   Locale::Msgfmt::mo:
     file: lib/Locale/Msgfmt/mo.pm
-    version: 0.05
+    version: 0.06
   Locale::Msgfmt::po:
     file: lib/Locale/Msgfmt/po.pm
-    version: 0.05
+    version: 0.06
 generated_by: Module::Build version 0.33
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html

Modified: trunk/liblocale-msgfmt-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/debian/changelog?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/debian/changelog (original)
+++ trunk/liblocale-msgfmt-perl/debian/changelog Fri Jun 26 23:32:47 2009
@@ -1,5 +1,6 @@
-liblocale-msgfmt-perl (0.05-1) UNRELEASED; urgency=low
+liblocale-msgfmt-perl (0.06-1) UNRELEASED; urgency=low
 
   * Initial Release. (Closes: #534651)
+  * New upstream release
 
- -- Ryan Niebur <ryanryan52 at gmail.com>  Thu, 25 Jun 2009 19:23:11 -0700
+ -- Ryan Niebur <ryanryan52 at gmail.com>  Fri, 26 Jun 2009 16:32:39 -0700

Modified: trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt.pm?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt.pm (original)
+++ trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt.pm Fri Jun 26 23:32:47 2009
@@ -12,7 +12,7 @@
 
 our @EXPORT = qw/msgfmt msgfmt_dir/;
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub msgfmt {
   my $hash = shift;

Modified: trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/Utils.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/Utils.pm?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/Utils.pm (original)
+++ trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/Utils.pm Fri Jun 26 23:32:47 2009
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub character {
   return map {pack "N*", $_} @_;
@@ -49,4 +49,8 @@
   return null_terminate("");
 }
 
+sub eot {
+  return chr(4);
+}
+
 1;

Modified: trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/mo.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/mo.pm?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/mo.pm (original)
+++ trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/mo.pm Fri Jun 26 23:32:47 2009
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 use Locale::Msgfmt::Utils;
 

Modified: trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/po.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/po.pm?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/po.pm (original)
+++ trunk/liblocale-msgfmt-perl/lib/Locale/Msgfmt/po.pm Fri Jun 26 23:32:47 2009
@@ -1,9 +1,11 @@
 package Locale::Msgfmt::po;
+
+use Locale::Msgfmt::Utils;
 
 use strict;
 use warnings;
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub new {
   my $class = shift;
@@ -26,8 +28,21 @@
   my %h = %{$hash};
   return if !(defined($h{msgid}) && defined($h{msgstr}));
   return if ($h{fuzzy} && !$self->{fuzzy} && length($h{msgid}) > 0);
-  return if($h{msgstr} eq "");
-  $self->{mo}->add_string(cleanup_string($h{msgid}), cleanup_string($h{msgstr}));
+  my $msgstr = join Locale::Msgfmt::Utils::null(), @{$h{msgstr}};
+  return if($msgstr eq "");
+  my $context;
+  my $plural;
+  if($h{msgctxt}) {
+    $context = cleanup_string($h{msgctxt}) . Locale::Msgfmt::Utils::eot();
+  } else {
+    $context = "";
+  }
+  if($h{msgid_plural}) {
+    $plural = Locale::Msgfmt::Utils::null() . cleanup_string($h{msgid_plural});
+  } else {
+    $plural = "";
+  }
+  $self->{mo}->add_string($context . cleanup_string($h{msgid}) . $plural, cleanup_string($msgstr));
 }
 
 sub read_po {
@@ -39,16 +54,27 @@
   my $type;
   while (<F>) {
     s/\r\n/\n/;
-    if(/^(msgid|msgstr) +"(.*)" *$/) {
+    if(/^(msgid(?:|_plural)|msgctxt) +"(.*)" *$/) {
       $type = $1;
-      if($type eq "msgid" && defined($h{msgid})) {
+      if(defined($h{$type})) {
         $self->add_string(\%h);
         %h = ();
       }
       $h{$type} = $2;
     }
+    elsif(/^msgstr(?:\[(\d*)\])? +"(.*)" *$/) {
+      $type = "msgstr";
+      if(!$h{$type}) {
+        @{$h{$type}} = ();
+      }
+      push @{$h{$type}}, $2;
+    }
     elsif(/^"(.*)" *$/) {
-      $h{$type} .= $1;
+      if($type eq "msgstr") {
+        @{$h{$type}}[scalar(@{$h{$type}}) - 1] .= $1;
+      } else {
+        $h{$type} .= $1;
+      }
     }
     elsif(/^ *$/) {
       $self->add_string(\%h);

Modified: trunk/liblocale-msgfmt-perl/t/msgfmt.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/liblocale-msgfmt-perl/t/msgfmt.t?rev=38792&op=diff
==============================================================================
--- trunk/liblocale-msgfmt-perl/t/msgfmt.t (original)
+++ trunk/liblocale-msgfmt-perl/t/msgfmt.t Fri Jun 26 23:32:47 2009
@@ -1,23 +1,36 @@
 #!perl
 
-use Test::More tests => 1;
+use Test::More tests => 3;
 
 use Locale::Msgfmt;
 use File::Temp;
 
 SKIP: {
-    skip "Test needs Locale::Maketext::Gettext", 1 if(!eval("use Locale::Maketext::Gettext; 1;"));
-    my %h;
-    my $good = "";
-    %h = read_mo("t/samples/fr-fr.mo");
-    foreach(sort keys %h){$good .= $_ . " " . $h{$_} . "\n";};
-    ($fh, $filename) = File::Temp::tempfile();
-    close $fh;
-    msgfmt({in => "t/samples/fr-fr.po", out => $filename});
-    my $test = "";
-    %h = read_mo($filename);
-    foreach(sort keys %h){$test .= $_ . " " . $h{$_} . "\n";};
-    is($test, $good);
-    unlink($filename);
+    skip "Test needs Locale::Maketext::Gettext", 3 if(!eval("use Locale::Maketext::Gettext; 1;"));
+    sub my_read_mo {
+        my $str = "";
+        my %h = read_mo(shift);
+        foreach(sort keys %h){$str .= $_ . " " . $h{$_} . "\n";};
+        return $str;
+    }
+    sub my_msgfmt {
+        my ($fh, $filename) = File::Temp::tempfile();
+        close $fh;
+        msgfmt({in => shift, out => $filename});
+        return $filename;
+    }
+    sub do_one_test {
+        my $basename = shift;
+        my $po = "t/samples/" . $basename . ".po";
+        my $mo = "t/samples/" . $basename . ".mo";
+        my $good = my_read_mo($mo);
+        my $filename = my_msgfmt($po);
+        my $test = my_read_mo($filename);
+        is($test, $good);
+        unlink($filename);
+    }
+    do_one_test("fr-fr");
+    do_one_test("context");
+    do_one_test("ngettext");
 }
 




More information about the Pkg-perl-cvs-commits mailing list