[geeklog-devel] [Fwd: Re: Flexy translation]
Tony Bibbs
tony at tonybibbs.com
Fri Dec 17 23:34:49 EST 2004
Worth reading. I'm going to try and get the SOB working tonight.
--Tony
-------- Original Message --------
Subject: Re: Flexy translation
Date: Sat, 18 Dec 2004 11:32:52 +0800
From: Alan Knowles <alan at akbkhome.com>
To: Tony Bibbs <tony at tonybibbs.com>
References: <41C376A4.5010305 at tonybibbs.com>
Ok, you need the latest CVS (translation2 as well) - as I there are a
few fixes in it..
constructor:
$x = new HTML_Template_Flexy(array(
..... usual options....
'locale' => 'fr',
'Translation2' => array('driver' => 'dataobjectsimple')
));
.. a template containing..
<td>Username</td>
will be compiled to xxx.fr.html
and
<td>Noms.</td>
or you can translate blocks with HTML inside:
{_( ....<B>some text</B>.... )_}
Assuming you have set up the word in Translation2 ok..
Have a look at HTML_Template_Flexy_Translator for a few ideas - the
trick is that the compiler dumps a 'gettext.serial file.' - which can be
used to find the words in the template.
Regards
Alan
Tony Bibbs wrote:
> I'm using Flexy in a project that has to support multiple language.
> Right now we are leaning towards using PEAR::Translation2. I know
> Flexy is smart enought to build templates per locale which is great
> but how do I achieve that using Translation2?
>
> In a template for a login page I have this:
>
> <table>
> <tr>
> <td>{translate('Username')}:</td>
> <td><input type="text" name="gl2User->userName"/></td>
> </tr>
> ...
>
> Where translate() is a method on the class that renders this view.
> I'm guessing I don't want to do it this way because it appears this
> would cause the translate() method to get called every single request
> even if the template has been compiled. Am I right in that assumption?
>
> --Tony
>
>
More information about the geeklog-devel
mailing list