O sistema de templating
Smarty pode ser usado para tratar também o problema do desenvolvimento dos sistemas multi-linguas.
A solução encontrada foi a criação de um ficheiro de configuração usando secções para separar as diversas linguas conseguindo assim um grau de facilidade de actualização acima do normal.
Ficheiro language.conf[pt]
titulo=Portugal
saudacao=Bem Vindo
[uk]
titulo=Ingles
saudacao=Welcome
[es]
titulo=Espanhol
saudacao=Bienvenido
Ficheiro index.tpl{config_load file=language.conf section=$language}
Language and Smarty
{$smarty.config.saudacao}
Lingua: {$smarty.config.titulo}
Ficheiro index.php< ?
// Carregar a biblioteca do Smarty
require('smarty/Smarty.class.php');
// Array com as linguagens permitidas
$languages = array("pt","uk","es");
// Iniciar o objecto smarty
$smarty = new Smarty;
$smarty->template_dir = ./;
$smarty->compile_dir = ./;
$smarty->config_dir = ./;
if(!isset($_GET[language]) || !in_array($_GET[language],$languages))
$_GET[language]=pt;
$smarty->assign(language,$_GET[language]);
$smarty->display(index.tpl);
?>
Consegui assim um grau de separação que me permite fornecer ao cliente a possibilidade de tradição do sistema sem necessitar de conhecimentos de qualquer linguagem, tornando o processo intuitivo.Espero que a técnica ajude mais alguém.