hmm... I'm not sure I can answer how you would go about making H::T do a 
compile-time parse, but I can solve your need for <TMPL_INCLUDE <TMPL_VAR 
num>>...

I use a modified version of H::T which does this (and a number of other useful 
things, such as custom TMPL tags).  Go to:

http://members.optusnet.com.au/mathew/

and download the version of H::T from there.  The perldoc explains how to 
enable recursive templates.

Mathew

PS.  I am very familar with Locale::Maketext, and I think it is a great step 
forward in handling language translation capabilities (compared to say 
'catgets'),  however I found it to be limiting in some specific ways, thus I 
created Locale::MakePhrase which I believe to be much more powerful.



----- Original Message ----- 
From: "Mark Fuller" <[EMAIL PROTECTED]>
To: "Mathew Robertson" <[EMAIL PROTECTED]>; 
<html-template-users@lists.sourceforge.net>
Sent: Wednesday, January 05, 2005 2:03 PM
Subject: Re: [htmltmpl] RFC: Conditional TMPL_INCLUDE


> Here's another example.
> 
> To accomodate multiple foreign languages I store my loaded templates in a
> hash keyed by language code. The loaded template is mostly the same template
> files with param information filled in specific to the language. My
> procedure is this: I always check if the template exists in the hash for
> each display of the page (using the visitor's language preference). If not,
> I go through my load process which involves "tmpl_load" and a series of
> Locale::Maketext calls to translate English into whatever language the
> template needs to be in. Generally, this means using the param method to set
> the xml:lang, the encoding, the stylesheet (to get the font for non-Roman
> languages), and a slew of Maketext calls to translate fill in form captions,
> heading values, etc.
> 
> Not all the page text dynamically translated like this. Some larger
> paragraph text may exist in files included into the template from a
> directory structure representing  the language (like /templates/en-US). This
> gets back to the earlier example of how it's difficult to dynamically select
> includes. (In this case HTML_TEMPLATE_ROOT would work *if* all my templates
> (non-language specific) existed in that directory too.)
> 
> Anyway, this language processing only needs to be done *at the time the
> template is loaded*. I don't need to do it for each output of the template.
> I'm keeping my own template objects for each language (in the hash). There
> are only a few output-time params that need to be re-evaluated at output
> time (status message, select lists because the selection may have changed,
> form fields). All the translated text performed when the template was first
> tmpl-loaded doesn't need to be re-evaluated.
> 
> This case is a little different than the previous example. In the previous
> example, I needed substitution to occur at compile time. In this case, I
> need to specify that the evaluation of the param is *permanent*. If
> compile-time substitution were available I could setup all my name=value
> pairs prior to the tmpl-load. But, in my mind I'd rather do the tmpl-load
> (specifying anything that needs to be done at compile time, like the
> conditional include mentioned previously) and then have a method to perform
> one-time, permanent substitution to the loaded template. This way I could
> issue my numerous Maketext calls after the template is loaded and let the
> results be stored in the template rather than creating my own temporary
> holder just to so the values are available at compile time (assuming there
> could be a feature to perform compile-time evaluation).
> 
> Does that make sense? Am I completely missing something?
> 
> Thanks,
> Mark
> 
>


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Html-template-users mailing list
Html-template-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to