For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > May 2006 > Re: [SMARTY] smarty and GNU gettext









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: [SMARTY] smarty and GNU gettext
Marcus Bointon

2006-05-30, 8:06 am

On 30 May 2006, at 13:11, D_C wrote:

> basically gettext is a php function, so if this is used in the middle
> of a smarty template, it will make templates really ugly. I think!
> Unless there is a clean way to inline php funcs inside smarty...


You really don't want to do that...

> also, since a php funciton is being called in the middle of a
> template, i imagine this stops smarty from being able to pre-compie/
> cache the template itself?
>
> So, any suggested approaches?


Yup. Wrap it up in a Smarty plugin. Many smarty plugins are no more
than this, so try looking at some. You might need a pair of plugins -
an initializer (e.g. to select and load an appropriate language file)
and a modifier to display a text item. The popup plugins work this way.

> Can a modifier function work directly on a string? eg if i created a
> localize() modifier that called gettext, then:
>
> had a template like this:
>
> { "message list" | localize }


Yes, you can use this syntax. Try for example {"hello world"|
escape:"url"} and it will render to 'hello%20world'.

There are several Smarty translation mechanisms around (including
some that use gettext) - try looking at the wiki: http://
smarty.incutio.com/

Marcus
--
Marcus Bointon
Synchromedia Limited: Putting you in the picture
marcus@synchromedia.co.uk | http://www.synchromedia.co.uk
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com