CatalystX-I18N

 view release on metacpan or  search on metacpan

lib/CatalystX/I18N/Model/Maketext.pm  view on Meta::CPAN

# ============================================================================
package CatalystX::I18N::Model::Maketext;
# ============================================================================

use namespace::autoclean;
use Moose;
extends 'CatalystX::I18N::Model::Base';

use CatalystX::I18N::TypeConstraints;
use Path::Class;
use Scalar::Util qw(weaken);

has 'gettext_style' => (
    is          => 'rw',
    isa         => 'Bool',
    default     => 1,
);

sub BUILD {
    my ($self) = @_;

lib/CatalystX/I18N/Model/Maketext.pm  view on Meta::CPAN

    my ( $self, $c ) = @_;

    # set locale and fallback
    my $handle = $self->class->get_handle( $c->locale );

    # Catch error
    Catalyst::Exception->throw(sprintf("Could not fetch lanuage handle for locale '%s'",$c->locale))
        unless ( scalar $handle );

    if ($self->can('fail_with')) {
        weaken($c);
        $handle->fail_with( sub {
            $self->fail_with($c,@_);
        } );
    } else {
        $handle->fail_with( sub { } );
    }

    return $handle;
}

lib/CatalystX/I18N/TraitFor/ViewTT.pm  view on Meta::CPAN

# ============================================================================
package CatalystX::I18N::TraitFor::ViewTT;
# ============================================================================

use namespace::autoclean;
use Moose::Role;
requires qw(template render);

use Template::Stash;

use Scalar::Util qw(weaken);

around render => sub {
    my $orig  = shift;
    my ( $self,$c,$template,$args ) = @_;

#    local $Template::Stash::HASH_OPS;
#    local $Template::Stash::LIST_OPS;

    if ($c->can('i18n_collator')) {
        my $collator = $c->i18n_collator;

lib/CatalystX/I18N/TraitFor/ViewTT.pm  view on Meta::CPAN

    # Call original BUILDARGS
    return $self->$orig($app,$config);
};

sub _i18n_numberformat_factory {
    my ( $context, $format, @options ) = @_;

    my $stash = $context->stash;
    my $catalyst_var = $context->{CONFIG}{CATALYST_VAR};
    my $c = $stash->{$catalyst_var};
    weaken $c;

    my $number_format = $c->i18n_numberformat;
    if (defined $format) {
        undef $format
            unless (grep { $format eq $_ } qw(number negative bytes price picture));
    }

    return sub {
        my $value = shift;

lib/CatalystX/I18N/TraitFor/ViewTT.pm  view on Meta::CPAN


    return _i18n_factory_helper('localize', $context,@params)
}

sub _i18n_factory_helper {
    my ( $method, $context, @params ) = @_;

    my $stash = $context->stash;
    my $catalyst_var = $context->{CONFIG}{CATALYST_VAR};
    my $c = $stash->{$catalyst_var};
    weaken $c;

    return sub {
        my ($msgid) = @_;
        if (scalar @params == 1
            && ref($params[0]) eq 'ARRAY') {
            @params = @{$params[0]};
        }

        return $c->$method($msgid,@params);
    }



( run in 0.736 second using v1.01-cache-2.11-cpan-65fba6d93b7 )