summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-09-26 20:34:15 -0700
committerFather Chrysostomos <sprout@cpan.org>2010-09-26 20:34:15 -0700
commit2ccd21fcbb088ab4d4206f572aea3d94c9216a71 (patch)
tree9e0131a525e2b26fb147db1da5e9f83508796f48
parent78efa7b1d554a94490863c91472989d1ac28ea9f (diff)
downloadperl-2ccd21fcbb088ab4d4206f572aea3d94c9216a71.tar.gz
Revert "From: Todd Rinaldo <toddr@cpanel.net>"
This reverts commit 213a5d2cb3aa3b5c246b024e7e9c9903eba9decf.
-rw-r--r--dist/Locale-Maketext/ChangeLog19
-rw-r--r--dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod150
-rw-r--r--dist/Locale-Maketext/t/30_local.t15
-rw-r--r--dist/Locale-Maketext/t/70_fail_auto.t32
4 files changed, 11 insertions, 205 deletions
diff --git a/dist/Locale-Maketext/ChangeLog b/dist/Locale-Maketext/ChangeLog
index 16891a1fb4..239870410d 100644
--- a/dist/Locale-Maketext/ChangeLog
+++ b/dist/Locale-Maketext/ChangeLog
@@ -20,25 +20,6 @@ Revision history for Perl suite Locale::Maketext
Convert the odd Locale::Maketext test out from Test to Test::More.
-2009-06-23 Adriano Ferreira
- * Development release 1.13_82
-
- One more recipe: on [numf,...] with decimal precision
-
-2009-06-23 Adriano Ferreira
- * Development release 1.13_81
-
- Change a few straggling 'DEBUG and print' to 'DEBUG and warn' (thanks Dan Muey)
-
- A start of a cookbook.
-
-2009-06-23 Adriano Ferreira
- * Development release 1.13_80
-
- Fixes CPAN RT #25877 (thanks imacat)
-
- Add a test for failure_handler_auto()
-
2008-05-28 Adriano Ferreira
* Release 1.13
diff --git a/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod b/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod
deleted file mode 100644
index 6063b0faa1..0000000000
--- a/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod
+++ /dev/null
@@ -1,150 +0,0 @@
-# This document contains text in Perl "POD" format.
-# Use a POD viewer like perldoc or perlman to render it.
-
-=encoding utf-8
-
-=head1 NAME
-
-Locale::Maketext::Cookbook - recipes for using Locale::Maketext
-
-=head1 INTRODUCTION
-
-This is a work in progress. Not much progress by now :-)
-
-=head1 ONESIDED LEXICONS
-
-I<Adapted from a suggestion by Dan Muey>
-
-It may be common (for example at your main lexicon) that
-the hash keys and values coincide. Like that
-
- q{Hello, tell me your name}
- => q{Hello, tell me your name}
-
-It would be nice to just write:
-
- q{Hello, tell me your name} => ''
-
-and have this magically inflated to the first form.
-Among the advantages of such representation, that would
-lead to
-smaller files, less prone to mistyping or mispasting,
-and handy to someone translating it which can simply
-copy the main lexicon and enter the translation
-instead of having to remove the value first.
-
-That can be achieved by overriding C<init>
-in your class and working on the main lexicon
-with code like that:
-
- package My::I18N;
- ...
-
- sub init {
- my $lh = shift; # a newborn handle
- $lh->SUPER::init();
- inflate_lexicon(\%My::I18N::en::Lexicon);
- return;
- }
-
- sub inflate_lexicon {
- my $lex = shift;
- while (my ($k, $v) = each %$lex) {
- $v = $k if !defined $v || $v eq '';
- }
- }
-
-Here we are assuming C<My::I18N::en> to own the
-main lexicon.
-
-There are some downsides here: the size economy
-will not stand at runtime after this C<init()>
-runs. But it should not be that critical, since
-if you don't have space for that, you won't have
-space for any other language besides the main one
-as well. You could do that too with ties,
-expanding the value at lookup time which
-should be more time expensive as an option.
-
-=head1 DECIMAL PLACES IN NUMBER FORMATTING
-
-I<After CPAN RT #36136 (https://rt.cpan.org/Ticket/Display.html?id=36136)>
-
-The documentation of L<Locale::Maketext> advises that
-the standard bracket method C<numf> is limited and that
-you must override that for better results. It even
-suggests the use of L<Number::Format>.
-
-One such defect of standard C<numf> is to not be
-able to use a certain decimal precision.
-For example,
-
- $lh->maketext('pi is [numf,_1]', 355/113);
-
-outputs
-
- pi is 3.14159292035398
-
-Since pi ≈ 355/116 is only accurate
-to 6 decimal places, you would want to say:
-
- $lh->maketext('pi is [numf,_1,6]', 355/113);
-
-and get "pi is 3.141592".
-
-One solution for that could use C<Number::Format>
-like that:
-
- package Wuu;
-
- use base qw(Locale::Maketext);
-
- use Number::Format;
-
- # can be overriden according to language conventions
- sub _numf_params {
- return (
- -thousands_sep => '.',
- -decimal_point => ',',
- -decimal_digits => 2,
- );
- }
-
- # builds a Number::Format
- sub _numf_formatter {
- my ($lh, $scale) = @_;
- my @params = $lh->_numf_params;
- if ($scale) { # use explicit scale rather than default
- push @params, (-decimal_digits => $scale);
- }
- return Number::Format->new(@params);
- }
-
- sub numf {
- my ($lh, $n, $scale) = @_;
- # get the (cached) formatter
- my $nf = $lh->{__nf}{$scale} ||= $lh->_numf_formatter($scale);
- # format the number itself
- return $nf->format_number($n);
- }
-
- package Wuu::pt;
-
- use base qw(Wuu);
-
-and then
-
- my $lh = Wuu->get_handle('pt');
- $lh->maketext('A [numf,_1,3] km de distância', 1550.2222);
-
-would return "A 1.550,222 km de distância".
-
-Notice that the standard utility methods of
-C<Locale::Maketext> are irremediably limited
-because they could not aim to do everything
-that could be expected from them in different languages,
-cultures and applications. So extending C<numf>,
-C<quant>, and C<sprintf> is natural as soon
-as your needs exceed what the standard ones do.
-
-
diff --git a/dist/Locale-Maketext/t/30_local.t b/dist/Locale-Maketext/t/30_local.t
index 23fa2ac551..8b89777e20 100644
--- a/dist/Locale-Maketext/t/30_local.t
+++ b/dist/Locale-Maketext/t/30_local.t
@@ -2,8 +2,12 @@
use strict;
-use Test::More tests => 3;
+use Test::More tests => 4;
use Locale::Maketext;
+print "# Hi there...\n";
+pass();
+
+print "# --- Making sure that Perl globals are localized ---\n";
# declare a class...
{
@@ -16,8 +20,11 @@ use Locale::Maketext;
}
my $lh = Woozle->new();
-isa_ok($lh, 'Woozle');
+ok(ref $lh, 'Basic sanity');
$@ = 'foo';
-is($lh->maketext('Eval error: [_1]', $@), 'Eval error: foo', "Make sure \$@ is localized when passed to maketext");
-is($@, 'foo', "\$@ wasn't modified during call");
+is($lh->maketext('Eval error: [_1]', $@), 'Eval error: foo',
+ 'Make sure $@ is localized');
+
+print "# Byebye!\n";
+pass();
diff --git a/dist/Locale-Maketext/t/70_fail_auto.t b/dist/Locale-Maketext/t/70_fail_auto.t
deleted file mode 100644
index 44fe54d1b5..0000000000
--- a/dist/Locale-Maketext/t/70_fail_auto.t
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/perl -Tw
-
-use strict;
-use Test::More tests => 5;
-
-BEGIN {
- use_ok( 'Locale::Maketext' );
-}
-
-{
- package Whunk::L10N;
- use vars qw(@ISA);
- @ISA = 'Locale::Maketext';
-}
-
-{
- package Whunk::L10N::en;
- use vars qw(@ISA);
- @ISA = 'Whunk::L10N';
-}
-
-my $lh = Whunk::L10N->get_handle('en');
-$lh->fail_with('failure_handler_auto');
-
-is($lh->maketext('abcd'), 'abcd', "simple missing keys are handled");
-is($lh->maketext('abcd'), 'abcd', "even in repeated calls");
-# CPAN RT #25877 - $value Not Set After Second Call to failure_handler_auto()
-
-is($lh->maketext('Hey, [_1]', 'you'), 'Hey, you', "keys with bracket notation ok");
-
-is($lh->maketext('_key'), '_key', "keys which start with _ ok");
-