r70681 - in /branches/upstream/liblocale-maketext-simple-perl: ./ current/ current/lib/ current/lib/Locale/ current/lib/Locale/Maketext/ current/t/ current/t/po_with_i_default/ current/t/po_without_i_default/

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Sun Mar 6 15:26:33 UTC 2011


Author: gregoa
Date: Sun Mar  6 15:26:24 2011
New Revision: 70681

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=70681
Log:
[svn-inject] Installing original source of liblocale-maketext-simple-perl (0.21)

Added:
    branches/upstream/liblocale-maketext-simple-perl/
    branches/upstream/liblocale-maketext-simple-perl/current/
    branches/upstream/liblocale-maketext-simple-perl/current/Changes
    branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST
    branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST.SKIP
    branches/upstream/liblocale-maketext-simple-perl/current/META.yml
    branches/upstream/liblocale-maketext-simple-perl/current/Makefile.PL
    branches/upstream/liblocale-maketext-simple-perl/current/README
    branches/upstream/liblocale-maketext-simple-perl/current/SIGNATURE
    branches/upstream/liblocale-maketext-simple-perl/current/lib/
    branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/
    branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/
    branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/Simple.pm
    branches/upstream/liblocale-maketext-simple-perl/current/t/
    branches/upstream/liblocale-maketext-simple-perl/current/t/0-signature.t
    branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t   (with props)
    branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t   (with props)
    branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t   (with props)
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/en.po
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/fr.po
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/i_default.po
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/en.po
    branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/fr.po

Added: branches/upstream/liblocale-maketext-simple-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/Changes?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/Changes (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/Changes Sun Mar  6 15:26:24 2011
@@ -1,0 +1,116 @@
+
+[Changes for 0.21 - 2009-08-17]
+
+* None
+
+[Changes for 0.20_02 - 2009-07-12]
+
+* How'd that MANIFEST vanish, anyway?
+
+[Changes for 0.20_01 - 2009-07-12]
+
+* MakeMaker Makefile.PL which takes into account the fact that
+  we're now dual-lifed contributed by Jerry D. Hedden
+
+* Fix the i-default tests to skip if Local::Maketext::Lexicon is not
+  installed as they fail - Tomas Doran
+
+[Changes for 0.20 - 2009-07-08]
+
+* MANIFEST fixes (no code changes) - Tomas Doran
+
+[Changes for 0.19 - 2009-07-07]
+
+* Bumped the version dependency to 5.005
+
+* Ton Voon, from Opsera Limited contributed the ability to have the IANA
+  defined i-default language, for use as a fallback when arbitrary message keys,
+  rather than English phrases are being used.
+
+[Changes for 0.18 - 2006-09-08]
+
+* At the request of Steve Hay, this module is now available under the
+  Perl license when distributed as part of Perl 5.
+
+[Changes for 0.17 - 2006-08-13]
+
+* Sebastien Aperghis-Tramoni noticed that the MIT license text was
+  mis-hyphenated, and the waranty clauses mentions "X Consortium"
+  where it should say "authors or copyright holders".
+
+[Changes for 0.16 - 2006-05-03]
+
+* Oops, the gettext_to_maketext function was missing an escape
+  sequence, rendering message strings with [ ~ ] characters invalid.
+  Reported By: Rong-En Fan
+
+[Changes for 0.15 - 2006-05-02]
+
+* LICENSING CHANGE: This compilation and all individual files in it
+  are now under the permissive "MIT" license.  See the COPYRIGHT
+  section in README for the new terms.
+
+[Changes for 0.14 - 2006-04-27]
+
+* Repair Perl 5.005 compatibility in the build system.
+  Reported By: Rong-En Fan
+
+[Changes for 0.13 - 2006-04-11]
+
+* The "_style => 'gettext'" option was broken for adjacent variables
+  such as "%1%2%3".
+
+* Also removed the sole occurrence of of $&. 
+
+[Changes for 0.12 - 2004-03-17]
+
+* Supports the "Encoding" directive, including the special "locale" value.
+
+* Fix test to not emit warnings.
+
+[Changes for 0.11 - 2004-02-06]
+
+* ->auto_path was broken and always checking L::M::S's auto/ path.
+  Reported By: Marcus Ramberg
+
+[Changes for 0.10 - 2003-11-13]
+
+* The "%tense()" form was not working.
+  Reported By: Jos Boumans
+
+* Add reload_loc to clear away all cached handles.
+
+[Changes for 0.09 - 2003-09-16]
+
+* Without an English .po, L::M::S would not pick up any other POs.
+  Reported By: Marcus Ramberg
+
+* The default "maketext" calling style was broken.
+
+[Changes for 0.08 - 2003-08-26]
+
+* Calling loc_lang() without arguments now switches to "autodetected"
+  language properly.
+
+[Changes for 0.07 - 2003-08-21]
+
+* The "%quant()" form was not working as advertised.
+  Reported By: Jos Boumans
+
+[Changes for 0.05 - 2003-08-17]
+
+* Fixed breakage on Win32 with \\ pathnames.
+
+[Changes for 0.03 - 2003-08-03]
+
+* Documentation cleanup.
+
+* Avoid warnings during testing.
+
+[Changes for 0.03 - 2003-05-20]
+
+* Add Path option and loc_lang function.
+
+[Changes for 0.01 - 2003-05-09]
+
+* Initial release.

Added: branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST Sun Mar  6 15:26:24 2011
@@ -1,0 +1,17 @@
+Changes
+lib/Locale/Maketext/Simple.pm
+Makefile.PL
+MANIFEST			This list of files
+MANIFEST.SKIP
+META.yml
+README
+SIGNATURE			Public-key signature (added by MakeMaker)
+t/0-signature.t
+t/1-basic.t
+t/2-load_po_without_i_default.t
+t/3-load_po_with_i_default.t
+t/po_with_i_default/en.po
+t/po_with_i_default/fr.po
+t/po_with_i_default/i_default.po
+t/po_without_i_default/en.po
+t/po_without_i_default/fr.po

Added: branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST.SKIP
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST.SKIP?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST.SKIP (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/MANIFEST.SKIP Sun Mar  6 15:26:24 2011
@@ -1,0 +1,11 @@
+TODO
+^Makefile$
+blib
+pm_to_blib
+.swp$
+~$
+.tmp$
+.bak$
+.git/
+.gitignore$
+.shipit$

Added: branches/upstream/liblocale-maketext-simple-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/META.yml?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/META.yml (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/META.yml Sun Mar  6 15:26:24 2011
@@ -1,0 +1,21 @@
+--- #YAML:1.0
+name:               Locale-Maketext-Simple
+version:            0.21
+abstract:           Simple interface to Locale::Maketext::Lexicon
+author:
+    - Audrey Tang <cpan AT audreyt DOT org>
+license:            perl
+distribution_type:  module
+configure_requires:
+    ExtUtils::MakeMaker:  0
+build_requires:
+    ExtUtils::MakeMaker:  0
+requires:  {}
+no_index:
+    directory:
+        - t
+        - inc
+generated_by:       ExtUtils::MakeMaker version 6.54
+meta-spec:
+    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
+    version:  1.4

Added: branches/upstream/liblocale-maketext-simple-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/Makefile.PL?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/Makefile.PL (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/Makefile.PL Sun Mar  6 15:26:24 2011
@@ -1,0 +1,18 @@
+#!/usr/bin/perl
+
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    'NAME'          => 'Locale::Maketext::Simple',
+    'AUTHOR'        => 'Audrey Tang <cpan AT audreyt DOT org>',
+    'VERSION_FROM'  => 'lib/Locale/Maketext/Simple.pm',
+    'ABSTRACT_FROM' => 'lib/Locale/Maketext/Simple.pm',
+    'LICENSE'       => 'MIT',
+    'INSTALLDIRS'   => ($] >= 5.010 ? 'perl' : 'site'),
+    ((ExtUtils::MakeMaker->VERSION() lt '6.25')
+                              ? ('PL_FILES' => { })    : ()),
+    ((ExtUtils::MakeMaker->VERSION() gt '6.30')
+                              ? ('LICENSE'  => 'perl') : ()),
+    (MM->can('signature_target') ? (SIGN => 1) : ()),
+
+);

Added: branches/upstream/liblocale-maketext-simple-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/README?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/README (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/README Sun Mar  6 15:26:24 2011
@@ -1,0 +1,41 @@
+This is the README file for Locale::Maketext::Simple, a simple interface
+to Locale::Maketext::Lexicon.
+
+* Installation
+
+Locale::Maketext::Simple uses the standard perl module install process:
+
+    cpansign -v		# optional; see SIGNATURE for details
+    perl Makefile.PL
+    make                # or 'nmake' on Win32
+    make test
+    make install
+
+* COPYRIGHT
+
+Copyright 2002, 2003, 2004, 2005, 2006 by Audrey Tang <cpan at audreyt.org>.
+
+This software is released under the MIT license cited below.  Additionally,
+when this software is distributed with B<Perl Kit, Version 5>, you may also
+redistribute it and/or modify it under the same terms as Perl itself.
+
+* The "MIT" License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+

Added: branches/upstream/liblocale-maketext-simple-perl/current/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/SIGNATURE?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/SIGNATURE (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/SIGNATURE Sun Mar  6 15:26:24 2011
@@ -1,0 +1,39 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.55.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+    % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity.  If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 e41480f829daffd713f93fbab1e855abb30b3ece Changes
+SHA1 1fcfad10f84ce79a39d29831027a7c8b8c223eca MANIFEST
+SHA1 e476d8bd724d46eb9e255cc8afc98b92269e2255 MANIFEST.SKIP
+SHA1 20b4987cb5339995aadcb850325234ed6f3029b3 META.yml
+SHA1 5987882630ce9e3748170ee4d7f8a52ce80bd31a Makefile.PL
+SHA1 d69e7f71c0e6cc89349bded9d470222294a0d2e2 README
+SHA1 1e0ce7f9160501bd837884fbca60d8b1403767fb lib/Locale/Maketext/Simple.pm
+SHA1 41afe2c04bb573b40e283e2b210ed70a47a3f8ba t/0-signature.t
+SHA1 b216bc8e010ed533bfce78a2812319d5e68bfac7 t/1-basic.t
+SHA1 009f442681042355b9a4cac937bae8bad49bdbfe t/2-load_po_without_i_default.t
+SHA1 e4c589233a4bcfb47e3eb49a47c6355bf9346f62 t/3-load_po_with_i_default.t
+SHA1 949aa76c2746be53498cfa32f18685bc8259b97f t/po_with_i_default/en.po
+SHA1 afd558690890a04b1dc6378951cd3fa4d8f55afe t/po_with_i_default/fr.po
+SHA1 2dc78cca78e686536ae236d10d5c19ae3d4a14f6 t/po_with_i_default/i_default.po
+SHA1 949aa76c2746be53498cfa32f18685bc8259b97f t/po_without_i_default/en.po
+SHA1 afd558690890a04b1dc6378951cd3fa4d8f55afe t/po_without_i_default/fr.po
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iEYEARECAAYFAkqJY+oACgkQEi9d9xCOQEbaCwCfUP2LXGdGVDGAJ9/h1wsD+Yrb
+8J0AniuakRrTBsBS/5yoIYPwUyAO41zg
+=wQRp
+-----END PGP SIGNATURE-----

Added: branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/Simple.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/Simple.pm?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/Simple.pm (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/lib/Locale/Maketext/Simple.pm Sun Mar  6 15:26:24 2011
@@ -1,0 +1,341 @@
+package Locale::Maketext::Simple;
+$Locale::Maketext::Simple::VERSION = '0.21';
+
+use strict;
+use 5.005;
+
+=head1 NAME
+
+Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon
+
+=head1 VERSION
+
+This document describes version 0.18 of Locale::Maketext::Simple,
+released Septermber 8, 2006.
+
+=head1 SYNOPSIS
+
+Minimal setup (looks for F<auto/Foo/*.po> and F<auto/Foo/*.mo>):
+
+    package Foo;
+    use Locale::Maketext::Simple;	# exports 'loc'
+    loc_lang('fr');			# set language to French
+    sub hello {
+	print loc("Hello, [_1]!", "World");
+    }
+
+More sophisticated example:
+
+    package Foo::Bar;
+    use Locale::Maketext::Simple (
+	Class	    => 'Foo',	    # search in auto/Foo/
+	Style	    => 'gettext',   # %1 instead of [_1]
+	Export	    => 'maketext',  # maketext() instead of loc()
+	Subclass    => 'L10N',	    # Foo::L10N instead of Foo::I18N
+	Decode	    => 1,	    # decode entries to unicode-strings
+	Encoding    => 'locale',    # but encode lexicons in current locale
+				    # (needs Locale::Maketext::Lexicon 0.36)
+    );
+    sub japh {
+	print maketext("Just another %1 hacker", "Perl");
+    }
+
+=head1 DESCRIPTION
+
+This module is a simple wrapper around B<Locale::Maketext::Lexicon>,
+designed to alleviate the need of creating I<Language Classes> for
+module authors.
+
+The language used is chosen from the loc_lang call. If a lookup is not
+possible, the i-default language will be used. If the lookup is not in the
+i-default language, then the key will be returned.
+
+If B<Locale::Maketext::Lexicon> is not present, it implements a
+minimal localization function by simply interpolating C<[_1]> with
+the first argument, C<[_2]> with the second, etc.  Interpolated
+function like C<[quant,_1]> are treated as C<[_1]>, with the sole
+exception of C<[tense,_1,X]>, which will append C<ing> to C<_1> when
+X is C<present>, or appending C<ed> to <_1> otherwise.
+
+=head1 OPTIONS
+
+All options are passed either via the C<use> statement, or via an
+explicit C<import>.
+
+=head2 Class
+
+By default, B<Locale::Maketext::Simple> draws its source from the
+calling package's F<auto/> directory; you can override this behaviour
+by explicitly specifying another package as C<Class>.
+
+=head2 Path
+
+If your PO and MO files are under a path elsewhere than C<auto/>,
+you may specify it using the C<Path> option.
+
+=head2 Style
+
+By default, this module uses the C<maketext> style of C<[_1]> and
+C<[quant,_1]> for interpolation.  Alternatively, you can specify the
+C<gettext> style, which uses C<%1> and C<%quant(%1)> for interpolation.
+
+This option is case-insensitive.
+
+=head2 Export
+
+By default, this module exports a single function, C<loc>, into its
+caller's namespace.  You can set it to another name, or set it to
+an empty string to disable exporting.
+
+=head2 Subclass
+
+By default, this module creates an C<::I18N> subclass under the
+caller's package (or the package specified by C<Class>), and stores
+lexicon data in its subclasses.  You can assign a name other than
+C<I18N> via this option.
+
+=head2 Decode
+
+If set to a true value, source entries will be converted into
+utf8-strings (available in Perl 5.6.1 or later).  This feature
+needs the B<Encode> or B<Encode::compat> module.
+
+=head2 Encoding
+
+Specifies an encoding to store lexicon entries, instead of
+utf8-strings.  If set to C<locale>, the encoding from the current
+locale setting is used.  Implies a true value for C<Decode>.
+
+=cut
+
+sub import {
+    my ($class, %args) = @_;
+
+    $args{Class}    ||= caller;
+    $args{Style}    ||= 'maketext';
+    $args{Export}   ||= 'loc';
+    $args{Subclass} ||= 'I18N';
+
+    my ($loc, $loc_lang) = $class->load_loc(%args);
+    $loc ||= $class->default_loc(%args);
+
+    no strict 'refs';
+    *{caller(0) . "::$args{Export}"} = $loc if $args{Export};
+    *{caller(0) . "::$args{Export}_lang"} = $loc_lang || sub { 1 };
+}
+
+my %Loc;
+
+sub reload_loc { %Loc = () }
+
+sub load_loc {
+    my ($class, %args) = @_;
+
+    my $pkg = join('::', grep { defined and length } $args{Class}, $args{Subclass});
+    return $Loc{$pkg} if exists $Loc{$pkg};
+
+    eval { require Locale::Maketext::Lexicon; 1 }   or return;
+    $Locale::Maketext::Lexicon::VERSION > 0.20	    or return;
+    eval { require File::Spec; 1 }		    or return;
+
+    my $path = $args{Path} || $class->auto_path($args{Class}) or return;
+    my $pattern = File::Spec->catfile($path, '*.[pm]o');
+    my $decode = $args{Decode} || 0;
+    my $encoding = $args{Encoding} || undef;
+
+    $decode = 1 if $encoding;
+
+    $pattern =~ s{\\}{/}g; # to counter win32 paths
+
+    eval "
+	package $pkg;
+	use base 'Locale::Maketext';
+	Locale::Maketext::Lexicon->import({
+	    'i-default' => [ 'Auto' ],
+	    '*'	=> [ Gettext => \$pattern ],
+	    _decode => \$decode,
+	    _encoding => \$encoding,
+	});
+	*${pkg}::Lexicon = \\%${pkg}::i_default::Lexicon;
+	*tense = sub { \$_[1] . ((\$_[2] eq 'present') ? 'ing' : 'ed') }
+	    unless defined &tense;
+
+	1;
+    " or die $@;
+
+    my $lh = eval { $pkg->get_handle } or return;
+    my $style = lc($args{Style});
+    if ($style eq 'maketext') {
+	$Loc{$pkg} = sub {
+	    $lh->maketext(@_)
+	};
+    }
+    elsif ($style eq 'gettext') {
+	$Loc{$pkg} = sub {
+	    my $str = shift;
+            $str =~ s{([\~\[\]])}{~$1}g;
+            $str =~ s{
+                ([%\\]%)                        # 1 - escaped sequence
+            |
+                %   (?:
+                        ([A-Za-z#*]\w*)         # 2 - function call
+                            \(([^\)]*)\)        # 3 - arguments
+                    |
+                        ([1-9]\d*|\*)           # 4 - variable
+                    )
+            }{
+                $1 ? $1
+                   : $2 ? "\[$2,"._unescape($3)."]"
+                        : "[_$4]"
+            }egx;
+	    return $lh->maketext($str, @_);
+	};
+    }
+    else {
+	die "Unknown Style: $style";
+    }
+
+    return $Loc{$pkg}, sub {
+	$lh = $pkg->get_handle(@_);
+    };
+}
+
+sub default_loc {
+    my ($self, %args) = @_;
+    my $style = lc($args{Style});
+    if ($style eq 'maketext') {
+	return sub {
+	    my $str = shift;
+            $str =~ s{((?<!~)(?:~~)*)\[_([1-9]\d*|\*)\]}
+                     {$1%$2}g;
+            $str =~ s{((?<!~)(?:~~)*)\[([A-Za-z#*]\w*),([^\]]+)\]}
+                     {"$1%$2(" . _escape($3) . ')'}eg;
+	    _default_gettext($str, @_);
+	};
+    }
+    elsif ($style eq 'gettext') {
+	return \&_default_gettext;
+    }
+    else {
+	die "Unknown Style: $style";
+    }
+}
+
+sub _default_gettext {
+    my $str = shift;
+    $str =~ s{
+	%			# leading symbol
+	(?:			# either one of
+	    \d+			#   a digit, like %1
+	    |			#     or
+	    (\w+)\(		#   a function call -- 1
+		(?:		#     either
+		    %\d+	#	an interpolation
+		    |		#     or
+		    ([^,]*)	#	some string -- 2
+		)		#     end either
+		(?:		#     maybe followed
+		    ,		#       by a comma
+		    ([^),]*)	#       and a param -- 3
+		)?		#     end maybe
+		(?:		#     maybe followed
+		    ,		#       by another comma
+		    ([^),]*)	#       and a param -- 4
+		)?		#     end maybe
+		[^)]*		#     and other ignorable params
+	    \)			#   closing function call
+	)			# closing either one of
+    }{
+	my $digit = $2 || shift;
+	$digit . (
+	    $1 ? (
+		($1 eq 'tense') ? (($3 eq 'present') ? 'ing' : 'ed') :
+		($1 eq 'quant') ? ' ' . (($digit > 1) ? ($4 || "$3s") : $3) :
+		''
+	    ) : ''
+	);
+    }egx;
+    return $str;
+};
+
+sub _escape {
+    my $text = shift;
+    $text =~ s/\b_([1-9]\d*)/%$1/g;
+    return $text;
+}
+
+sub _unescape {
+    join(',', map {
+        /\A(\s*)%([1-9]\d*|\*)(\s*)\z/ ? "$1_$2$3" : $_
+    } split(/,/, $_[0]));
+}
+
+sub auto_path {
+    my ($self, $calldir) = @_;
+    $calldir =~ s#::#/#g;
+    my $path = $INC{$calldir . '.pm'} or return;
+
+    # Try absolute path name.
+    if ($^O eq 'MacOS') {
+	(my $malldir = $calldir) =~ tr#/#:#;
+	$path =~ s#^(.*)$malldir\.pm\z#$1auto:$malldir:#s;
+    } else {
+	$path =~ s#^(.*)$calldir\.pm\z#$1auto/$calldir/#;
+    }
+
+    return $path if -d $path;
+
+    # If that failed, try relative path with normal @INC searching.
+    $path = "auto/$calldir/";
+    foreach my $inc (@INC) {
+	return "$inc/$path" if -d "$inc/$path";
+    }
+
+    return;
+}
+
+1;
+
+=head1 ACKNOWLEDGMENTS
+
+Thanks to Jos I. Boumans for suggesting this module to be written.
+
+Thanks to Chia-Liang Kao for suggesting C<Path> and C<loc_lang>.
+
+=head1 SEE ALSO
+
+L<Locale::Maketext>, L<Locale::Maketext::Lexicon>
+
+=head1 AUTHORS
+
+Audrey Tang E<lt>cpan at audreyt.orgE<gt>
+
+=head1 COPYRIGHT
+
+Copyright 2003, 2004, 2005, 2006 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+
+This software is released under the MIT license cited below.  Additionally,
+when this software is distributed with B<Perl Kit, Version 5>, you may also
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head2 The "MIT" License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+=cut

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/0-signature.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/0-signature.t?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/0-signature.t (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/0-signature.t Sun Mar  6 15:26:24 2011
@@ -1,0 +1,27 @@
+#!/usr/bin/perl
+
+use strict;
+print "1..1\n";
+
+if (!$ENV{TEST_SIGNATURE}) {
+    print "ok 1 # skip set the environment variable TEST_SIGNATURE to enable this test\n";
+}
+elsif (!-s 'SIGNATURE') {
+    print "ok 1 # skip No signature file found\n";
+}
+elsif (!eval { require Module::Signature; 1 }) {
+    print "ok 1 # skip ",
+	    "Next time around, consider install Module::Signature, ",
+	    "so you can verify the integrity of this distribution.\n";
+}
+elsif (!eval { require Socket; Socket::inet_aton('pgp.mit.edu') }) {
+    print "ok 1 # skip ",
+	    "Cannot connect to the keyserver\n";
+}
+else {
+    (Module::Signature::verify() == Module::Signature::SIGNATURE_OK())
+	or print "not ";
+    print "ok 1 # Valid signature\n";
+}
+
+__END__

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t Sun Mar  6 15:26:24 2011
@@ -1,0 +1,26 @@
+use strict;
+use Test;
+
+BEGIN {
+    plan tests => 9;
+    $INC{'Locale/Maketext/Lexicon.pm'} = __FILE__;
+    $Locale::Maketext::Lexicon::VERSION = 0;
+}
+
+use Locale::Maketext::Simple;
+ok(Locale::Maketext::Simple->VERSION);
+ok(loc("Just [_1] Perl [_2]", qw(another hacker)), "Just another Perl hacker");
+
+{
+    local $^W; # shuts up 'redefined' warnings
+    Locale::Maketext::Simple->reload_loc;
+    Locale::Maketext::Simple->import(Style => 'gettext');
+}
+
+ok(loc("Just %1 Perl %2", qw(another hacker)), "Just another Perl hacker");
+ok(loc_lang('fr'));
+ok(loc("Just %quant(%1,Perl hacker)", 1), "Just 1 Perl hacker");
+ok(loc("Just %quant(%1,Perl hacker)", 2), "Just 2 Perl hackers");
+ok(loc("Just %quant(%1,Mad skill,Mad skillz)", 3), "Just 3 Mad skillz");
+ok(loc("Error %tense(%1,present)", 'uninstall'), "Error uninstalling");
+ok(loc("Error %tense(uninstall,present)"), "Error uninstalling");

Propchange: branches/upstream/liblocale-maketext-simple-perl/current/t/1-basic.t
------------------------------------------------------------------------------
    svn:executable = 

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+use strict;
+use Test::More;
+use FindBin qw($Bin);
+
+use Locale::Maketext::Simple (
+	Path => "$Bin/po_without_i_default",
+	Style => "gettext",
+);
+
+eval {
+    require Locale::Maketext::Lexicon;
+    die unless Locale::Maketext::Lexicon->VERSION(0.20);
+    require File::Spec;
+};
+if ($@) {
+    plan skip_all => 'No soft dependencies, i_default will not work';
+    exit 0;
+}
+
+plan tests => 5;
+
+loc_lang("en");
+is(loc("Not a lexicon key"), "Not a lexicon key", "Not a lexicon key");
+is(loc("I have got %1 alerts", 65), "I have got 65 alerts", "Got auto key" );
+is(loc("I have acknowledged %1 alerts", 83), "Yo dude, I've been working on these 83 alerts", "Got translation");
+
+loc_lang("fr");
+is(loc("system.messages.arbitrary.unique.lexicon.key"), "system.messages.arbitrary.unique.lexicon.key", "No translation" );
+is(loc("I have got %1 alerts", "red"), "Mon Francais red, c'est terrible", "French translated" );
+

Propchange: branches/upstream/liblocale-maketext-simple-perl/current/t/2-load_po_without_i_default.t
------------------------------------------------------------------------------
    svn:executable = 

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t Sun Mar  6 15:26:24 2011
@@ -1,0 +1,31 @@
+use strict;
+use Test::More;
+use FindBin qw($Bin);
+
+use Locale::Maketext::Simple (
+	Path => "$Bin/po_with_i_default",
+	Style => "gettext",
+);
+
+eval {
+    require Locale::Maketext::Lexicon;
+    die unless Locale::Maketext::Lexicon->VERSION(0.20);
+    require File::Spec;
+};
+if ($@) {
+    plan skip_all => 'No soft dependencies, i_default will not work';
+    exit 0;
+}
+
+plan tests => 6;
+
+loc_lang("en");
+is(loc("Not a lexicon key"), "Not a lexicon key", "Not a lexicon key");
+is(loc("I have got %1 alerts", "hot"), "Maybe it's because I'm a hot Londoner, that I love London tawn", "Got auto key" );
+is(loc("I have acknowledged %1 alerts", 83), "Yo dude, I've been working on these 83 alerts", "Got translation still in en");
+is(loc("system.messages.arbitrary.unique.lexicon.key"), "This is the default message", "Used i_default because not set in en");
+
+loc_lang("fr");
+is(loc("system.messages.arbitrary.unique.lexicon.key"), "This is the default message", "Translated from i_default");
+is(loc("I have got %1 alerts", "red"), "Mon Francais red, c'est terrible", "French translated" );
+

Propchange: branches/upstream/liblocale-maketext-simple-perl/current/t/3-load_po_with_i_default.t
------------------------------------------------------------------------------
    svn:executable = 

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/en.po
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/en.po?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/en.po (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/en.po Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+# Locale Maketext Simple language translations
+# Copyright (C) All Perl Hackers everywhere
+# Ton Voon <ton.voon at opsera.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Locale Maketext Simple\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2009-06-09 14:10+0000\n"
+"Last-Translator: Ton Voon <ton.voon at opsera.com>\n"
+"Language-Team: English <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. $alerts
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have got %1 alerts"
+msgstr ""
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have acknowledged %1 alerts"
+msgstr "Yo dude, I've been working on these %1 alerts"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "system.messages.arbitrary.unique.lexicon.key"
+msgstr ""
+

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/fr.po
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/fr.po?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/fr.po (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/fr.po Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+# Locale Maketext Simple language translations
+# Copyright (C) All Perl Hackers everywhere
+# Ton Voon <ton.voon at opsera.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Locale Maketext Simple\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2009-06-09 14:10+0000\n"
+"Last-Translator: Ton Voon <ton.voon at opsera.com>\n"
+"Language-Team: French <fr at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. $alerts
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have got %1 alerts"
+msgstr "Mon Francais %1, c'est terrible"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have acknowledged %1 alerts"
+msgstr ""
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "system.messages.arbitrary.unique.lexicon.key"
+msgstr ""
+

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/i_default.po
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/i_default.po?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/i_default.po (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/po_with_i_default/i_default.po Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+# Locale Maketext Simple language translations
+# Copyright (C) All Perl Hackers everywhere
+# Ton Voon <ton.voon at opsera.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Locale Maketext Simple\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2009-06-09 14:10+0000\n"
+"Last-Translator: Ton Voon <ton.voon at opsera.com>\n"
+"Language-Team: English <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. $alerts
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have got %1 alerts"
+msgstr "Maybe it's because I'm a %1 Londoner, that I love London tawn"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have acknowledged %1 alerts"
+msgstr "In idefault instead of en"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "system.messages.arbitrary.unique.lexicon.key"
+msgstr "This is the default message"
+

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/en.po
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/en.po?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/en.po (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/en.po Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+# Locale Maketext Simple language translations
+# Copyright (C) All Perl Hackers everywhere
+# Ton Voon <ton.voon at opsera.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Locale Maketext Simple\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2009-06-09 14:10+0000\n"
+"Last-Translator: Ton Voon <ton.voon at opsera.com>\n"
+"Language-Team: English <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. $alerts
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have got %1 alerts"
+msgstr ""
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have acknowledged %1 alerts"
+msgstr "Yo dude, I've been working on these %1 alerts"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "system.messages.arbitrary.unique.lexicon.key"
+msgstr ""
+

Added: branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/fr.po
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/fr.po?rev=70681&op=file
==============================================================================
--- branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/fr.po (added)
+++ branches/upstream/liblocale-maketext-simple-perl/current/t/po_without_i_default/fr.po Sun Mar  6 15:26:24 2011
@@ -1,0 +1,30 @@
+# Locale Maketext Simple language translations
+# Copyright (C) All Perl Hackers everywhere
+# Ton Voon <ton.voon at opsera.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Locale Maketext Simple\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2009-06-09 14:10+0000\n"
+"Last-Translator: Ton Voon <ton.voon at opsera.com>\n"
+"Language-Team: French <fr at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. $alerts
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have got %1 alerts"
+msgstr "Mon Francais %1, c'est terrible"
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "I have acknowledged %1 alerts"
+msgstr ""
+
+#. $acknowledged
+#: lib/Opsview/Web/Controller/Root.pm:492
+msgid "system.messages.arbitrary.unique.lexicon.key"
+msgstr ""
+




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