Provided by: libhtml-formhandler-perl_0.40068-1_all bug


       HTML::FormHandler::TraitFor::I18N - localization


       version 0.40068

       language_handle, _build_language_handle

       Holds a Locale::Maketext (or other duck_type class with a 'maketext' method) language
       handle. The language handle is used to localize the error messages in the field's
       'add_error' method. It's also used in various places in rendering to localize labels and
       button values, etc.

       The builder for this attribute gets the Locale::Maketext language handle from the
       environment variable $ENV{LANGUAGE_HANDLE}:

           $ENV{LANGUAGE_HANDLE} = 'en_en';

       ...or creates a default language handler using HTML::FormHandler::I18N.  (Note that
       earlier versions required an actual object reference in ENV, which is a bad practice and
       no longer supported.)  You can pass in an existing Locale::MakeText subclass instance or
       create one in a builder.

       In a form class:

           sub _build_language_handle { MyApp::I18N::abc_de->new }

       Passed into new or process:

           my $lh = MyApp::I18N::abc_de->new;
           my $form = MyApp::Form->new( language_handle => $lh );

       If you do not set the language_handle, then Locale::Maketext and/or I18N::LangTags may
       guess, with unexpected results.

       You can use non-Locale::Maketext language handles, such as Data::Localize.  There's an
       example of building a Data::Localize language handle in t/xt/locale_data_localize.t in the

       If you don't want a particular error message to go through localization, you can use
       'push_errors' and 'push_form_errors' instead of 'add_error' and 'add_form_errors'.

       Example of getting the language handle from the Catalyst context (where the Catalyst
       context is passed in with 'ctx'):

           has '+language_handle' => ( builder => 'get_language_handle_from_ctx' );
           sub get_language_handle_from_ctx {
               my $self = shift;
               return MyApp::I18N->get_handle(
                   @{ $self->ctx->languages } );


       FormHandler Contributors - see HTML::FormHandler


       This software is copyright (c) 2017 by Gerda Shank.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.