Originariamente inviato da Manuel.s
copiare il sito in piu cartelle mi sembra difficile da manutenere...
dovresti anzitutto prevedere la traduzione per i testi che vanno nel db, ad esempio le desc dei prodotti di un ecommerce, o il testo di un articolo, in campi chiamati desc lang_ita, lang_eng, oppure lang_1, lang_2 in modo da espanderlo piu facilmente...
poi dovresti fare dei file dizionario, uno per lingua, che contengono i testi statici tradotti, a seconda della lingua in uso caricherai un dizionario piutosto che un altro... esempio banale:
se nella home page devi scrivere "benvenuto", nel dizionario inglese ci sarà
Codice PHP:
$dictionary['welcome'] = "Welcome";
in quello italiano
Codice PHP:
$dictionary['welcome'] = "Benvenuto";
la pagina php avra un codice di questo genere:
Codice PHP:
include('/lang/langfile_'.$lang.'.php'); //$lang puo valere 'ita' o 'eng' o quello che vuoi
print $dictionary['welcome'];
per finire potresti impostare una regola di rewrite per valorizzare $lang con /ita o /eng come dicevi prima, anxche se le dir fisicamente non esistono...
sono molto interessato a questo script solo che nn capisco una cosa
Per esempio io devo tradurre delle cose in un form
codice:
<?
include ('lingue/'.$lang.'.php');
//fine
?>
<form method='post' action='mail_proc.php'>
<table width='500' border='0' align='center' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'>
<tr>
<td width='100%'>
<table width='100%' cellspacing='0' border='1' bordercolor='#CCCCCC' cellpadding='0'>
<tr bordercolor='#CCCCCC'>
<td valign='top' width='30%' height='50'>
<div align='center'><font color='#006699' face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? print $lang['goto'] ; ?>
:</font></div>
</td>
<td valign='top' width='70%' height='50'>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? // Creazione della lista dei destinatari in base alla configurazione
// di config.inc
// Creazione dell'indice
$i = 0;
while(isset($destinatario[$i]) and isset($descrizione[$i]))
{
// Echo del destinatario corrispondente all'indice di questo giro del ciclo
echo "<input name=\"dest[]\" type=\"checkbox\" value=\"".$destinatario[$i].",".$descrizione[$i]."\">".nbsp($descrizione[$i])." \n";
// Incremento dell'indice
$i = $i+1;
}
// Creazione della casella "Altro" nel caso sia impostato nel file di
// configurazione
if($destinatario_pers=="si")
{
echo "
Altro (separare con virgola se gli indirizzi sono pi di uno): <input type=\"text\" name=\"altro\" style=\"background-color: #F2F2F2; border-style: solid; border-color: #cccccc\">";
} ?>
</font></div>
</td>
</tr>
<tr bordercolor='#CCCCCC'>
<td valign='top' width='30%' height='50'>
<div align='center'><font color='#006699' face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? print $lang['email'] ; ?>
:</font></div>
</td>
<td valign='top' width='70%' height='50'>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<input type='text' name='mittente' size='32' style='background-color: #F2F2F2; border-style: solid; border-color: #cccccc'>
</font></div>
</tr>
<tr bordercolor='#CCCCCC'>
<td valign='top' width='30%' height='50'>
<div align='center'><font color='#006699' face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? print $lang['obj'] ;?>
: </font></div>
</td>
<td valign='top' width='70%' height='50'>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<input type='text' name='oggetto' size='32' style='background-color: #F2F2F2; border-style: solid; border-color: #cccccc'>
</font></div>
</tr>
<tr bordercolor='#CCCCCC'>
<td valign='top' width='30%'>
<div align='center'><font color='#006699' face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? print $lang['mes'] ; ?>
:</font></div>
</td>
<td valign='top' width='70%'>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<textarea cols='32' style='background-color: #F2F2F2; border-style: solid; border-color: #cccccc' rows='16' name='messaggio'></textarea>
</font></div>
</td>
</tr>
<tr bordercolor='#CCCCCC'>
<td valign='top' width='30%'>
<div align='center'><font color='#006699' face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<? print $lang['sig'] ; ?>
: </font></div>
</td>
<td valign='top' width='70%'>
<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<input type='text' name='firma' size='32' style='background-color: #F2F2F2; border-style: solid; border-color: #cccccc'>
</font></div>
</td>
</tr>
<?
if($invia_ip=="si")
{
echo "<input type=\"hidden\" name=\"ip\" value=\"".$_SERVER['REMOTE_ADDR']."\">\n";
}
if($testo_ip=="si")
{
echo "<tr>";
echo "<td colspan=\'2\' valign=\'top\' bordercolor=\'#CCCCCC\' height=\'50\'>\n";
echo '<font face=\'Verdana, Arial, Helvetica, sans-serif\' size=\'1\'>
\n';
echo '<center><font color=\"red\">Nota: </font> Il tuo Indirizzo IP è '.$_SERVER['REMOTE_ADDR'].'. Sarà registrato per sicurezza e sarà segnalato alle autorità competenti in caso di necessità.</center>\n';
echo '</font></div>\n';
echo '</td>\n';
echo '</tr>';
}?>
<tr>
<td colspan='2' valign='top' bordercolor='#CCCCCC' height='50'>
<div align='center'>
<font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
<input type='submit' name='invia' value='
<? print $lang['inv'] ; ?>'>
<input type='reset' value='
<? print $lang['canc'] ;?>
' name='reset'>
</font></div>
</td>
</tr>
</table>
</table>
</form>
io ho solo quelle variabili da modificare
Come faccio ad utilizzare il rewrite?