From 2ccd21fcbb088ab4d4206f572aea3d94c9216a71 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sun, 26 Sep 2010 20:34:15 -0700 Subject: Revert "From: Todd Rinaldo " This reverts commit 213a5d2cb3aa3b5c246b024e7e9c9903eba9decf. --- dist/Locale-Maketext/ChangeLog | 19 --- .../lib/Locale/Maketext/Cookbook.pod | 150 --------------------- dist/Locale-Maketext/t/30_local.t | 15 ++- dist/Locale-Maketext/t/70_fail_auto.t | 32 ----- 4 files changed, 11 insertions(+), 205 deletions(-) delete mode 100644 dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod delete mode 100644 dist/Locale-Maketext/t/70_fail_auto.t (limited to 'dist/Locale-Maketext') 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 - -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 -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 to own the -main lexicon. - -There are some downsides here: the size economy -will not stand at runtime after this C -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 - -The documentation of L advises that -the standard bracket method C is limited and that -you must override that for better results. It even -suggests the use of L. - -One such defect of standard C 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 -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 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, -C, and C 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"); - -- cgit v1.2.1