Smarty için;

Dilli fonksiyonu;

  
$ayar[dil]="tr";  
$varolandils = mysql_query("SHOW COLUMNS FROM _diller");
while ($bilgiiiii = mysql_fetch_array($varolandils)) $varolandiller[] = $bilgiiiii[0];

        //  {trans}kelime{/trans}
        function do_translation ($params, $content)
        {
          global $ayar,$d,$dilurl,$varolandiller;
         
          if (isset($content)) 
          {
            $lang = $params['lang'];
            if ($ayar['dil']<>$dilurl)
            {
              $content=strip_tags(trim(mysql_real_escape_string($content)));

              if (in_array(trim($dilurl),$varolandiller))
              {
                  $val=$d->get_var("SELECT ".$dilurl." FROM _diller WHERE ".$ayar['dil']." = '$content' ");
                  
                  if ($val) 
                    return $val;
                  else 
                    return $content;
              }
              else 
              {
                return $content;
              }
            }
            else return $content;
          }
        }
    
        $s->register_block('dilli', 'do_translation');
Bu kodların anlamı nedir ?

Smarty template engine kullananbirisi yaptığı template içine dilin değişmesini istediği yerlerde {dilli}sayfa{/dilli} yazar ve türkçe seçili yaptığında sayfa kelimesini yazacağından farklı bir dil seçildiğinde veritabanındaki o dil sutununda sayfa karşılığı bulunur ve dilli sayfayı o dile çevirir.

Google api eklenerek köklü çeviriler yaptırılabilir ama türkçe çeviri kalitesi yeterli değil.

Fonksiyonu fikir vermesi için koydum isteyen istediği gibi yazar, kulanır. Eksik kısımlar vardır ama yapacak bişey yok sayfalarca modül yazmak ayıp olur