GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  TEMPLATE::MULTILINGUAL (3)

.ds Aq ’

NAME

Template::Multilingual - Multilingual templates for Template Toolkit

CONTENTS

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:
o 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



o Fallback to the primary language



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



o 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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 TEMPLATE::MULTILINGUAL (3) 2009-01-18

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.