Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Template::MultilingualUser Contributed Perl DocumentaTemplate::Multilingual(3)

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:

       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.

perl v5.32.1			  2009-01-18	     Template::Multilingual(3)

NAME | SYNOPSIS | METHODS | LANGUAGE SUBTAG HANDLING | AUTHOR | BUGS | SEE ALSO | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Template::Multilingual&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help