I'm putting in my 10 cents here because I put it in another thread, and figured I should put it here too for those who want to listen.
I'm not a particular fan of Smarty, because the more advanced your usage of it, the harder it becomes to debug. Because there is no such thing as debugging symbols in it's compiled PHP code, even once you figure out where an issue is in it's generated php, it can be difficult to figure out what line in the Smarty template is responsible.
This is why I'm a big proponent of simple phtml files. Simple PHP mixed with HTML. This is how ZendFramework does it, but by no means do you need ZendFramework to do it.
Using phtml would also make fixing gettext to scan the new templates very easy (it's just more php!) for a change like in my other thread.
Ref:
Thoughts about moving translation call to inside gui template