Provided by: libtemplate-multilingual-perl_1.00-3_all bug

NAME

       Template::Multilingual - Multilingual templates for Template Toolkit

SYNOPSIS

       This subclass of Template Toolkit's "Template" class supports multilingual templates:
       templates that contain text in several languages.

           <t>
             <en>Hello!</en>
             <fr>Bonjour !</fr>
           </t>

       Specify the language to use when processing a template:

           use Template::Multilingual;

           my $template = Template::Multilingual->new();
           $template->language('en');
           $template->process('example.ttml');

       You can also provide the name of the template variable that will hold the language:

           my $template = Template::Multilingual->new(LANGUAGE_VAR => 'foo');
           $template->process('example.ttml', { foo => 'en' });

METHODS

   new(\%params)
       The new() constructor creates and returns a reference to a new template object. A
       reference to a hash may be supplied as a parameter to provide configuration values.

       Configuration values are all valid "Template" superclass options, and one specific to this
       class:

       LANGUAGE_VAR
           The LANGUAGE_VAR option can be used to set the name of the template variable which
           contains the current language.

             my $parser = Template::Multilingual->new({
                LANGUAGE_VAR => 'global.language',
             });

           If this option is set, your code is responsible for setting the variable's value to
           the current language when processing the template. Calling "language()" will have no
           effect.

           If this option is not set, it defaults to language.

   language($lcode)
       Specify the language to be used when processing the template. Any string that matches
       "\w+" is fine, but we suggest sticking to ISO-639 which provides 2-letter codes for common
       languages and 3-letter codes for many others.

   process
       Used exactly as the original Template Toolkit "process" method.  Be sure to call
       "language" before calling "process".

LANGUAGE SUBTAG HANDLING

       This module supports language subtags to express variants, e.g. "en_US" or "en-US".  Here
       are the rules used for language matching:

       •   Exact match: the current language is found in the template

             language    template                              output
             fr          <fr>foo</fr><fr_CA>bar</fr_CA>        foo
             fr_CA       <fr>foo</fr><fr_CA>bar</fr_CA>        bar

       •   Fallback to the primary language

             language    template                              output
             fr_CA       <fr>foo</fr><fr_BE>bar</fr_BE>        foo

       •   Fallback to first (in alphabetical order) other variant of the primary language

             language    template                              output
             fr          <fr_FR>foo</fr_FR><fr_BE>bar</fr_BE>  bar
             fr_CA       <fr_FR>foo</fr_FR><fr_BE>bar</fr_BE>  bar

AUTHOR

       Eric Cholet, "<cholet@logilune.com>"

BUGS

       Multilingual text sections cannot be used inside TT directives.  The following is illegal
       and will trigger a TT syntax error:

           [% title = "<t><fr>Bonjour</fr><en>Hello</en></t>" %]

       Use this instead:

           [% title = BLOCK %]<t><fr>Bonjour</fr><en>Hello</en></t>[% END %]

       The TAG_STYLE, START_TAG and END_TAG directives are supported, but the TAGS directive is
       not.

       Please report any bugs or feature requests to "bug-template-multilingual@rt.cpan.org", or
       through the web interface at
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Multilingual>.  I will be
       notified, and then you'll automatically be notified of progress on your bug as I make
       changes.

SEE ALSO

       If you are already using your own "Template" subclass, you may find it easier to use
       Template::Multilingual::Parser instead.

       ISO 639-2 Codes for the Representation of Names of Languages:
       http://www.loc.gov/standards/iso639-2/langcodes.html

COPYRIGHT & LICENSE

       Copyright 2009 Eric Cholet, All Rights Reserved.

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