Salve a tutti,
sto lavorando ad un sito multilingua, solo che non voglio utilizzare CMS già pronti quindi mi sto dilettando nella gestione delle variabili (diciamo così) con PHP (versione 5.3 che ho nel server)
ho fatto un lavoro di questo tipo finora:
ho creato tutta la struttura estetica, ho inserito poi nel content uno switch che prende la variabile (lang) dai link della lingua (immagini con link)
e fa il confronto con uno switch per l'output:
Links per la scelta della lingua (che è una position statica che si trova in tutte le pagine):
Quando viene cliccato uno dei link, tramite il GET e SWITCH in PHP richiamati da 2 positions, cambia sia il menu che il content e vengono richiamati entrambi quindi nella lingua richiesta:
1° il modulo navleft:
2° la position content (che sarebbe il corpo pagina):
E fino a qui ci siamo...
Ora analizziamo un secondo il codice del menu che viene richiamato in navleft (ne inserisco uno solo tanto l'unica cosa che cambia rispetto agli altri è la dicitura "ita", "eng", "deu" e "rus":
Ho scritto solo il primo link perchè tanto poi risolto quello, risolvo tutti gli altri di conseguenza.
Come si può vedere nel link ho dichiarato un'altra variabile che viene switchata dal menu.
Il problema è che se io non dichiaro nel link che la variabile lang è settata su Italiano, quest'ultimo (il link) mi rimanda direttamente alla pagina iniziale come se entrambe le variabili (lang e pagina) non fossero settate.
Settando invece la variabile nel link, il tutto funziona alla perfezione e teoricamente il mio sistema multilingua è già funzionante, volevo sapere più che altro se secondo voi questa può essere una soluzione valida oppure no.
Questo perchè non so bene come gestire le variabili, l'idea che avevo in mente era, che di default il sito si apre in italiano (e funziona) poi però quando viene scelta una lingua, viene settata una variabile (lang) che rimane sempre quella, e le pagine fanno riferimento a questa variabile senza doverla sempre dichiarare in tutti i link, fino a che non viene scelta un'altra lingua.
Spero di essere stato chiaro e preciso, grazie in anticipo a tutti.
sto lavorando ad un sito multilingua, solo che non voglio utilizzare CMS già pronti quindi mi sto dilettando nella gestione delle variabili (diciamo così) con PHP (versione 5.3 che ho nel server)
ho fatto un lavoro di questo tipo finora:
ho creato tutta la struttura estetica, ho inserito poi nel content uno switch che prende la variabile (lang) dai link della lingua (immagini con link)
e fa il confronto con uno switch per l'output:
Links per la scelta della lingua (che è una position statica che si trova in tutte le pagine):
HTML:
<a href="?lang=Italiano"><img style="border:1px solid black;" src="immagini/bandierine/Italian.gif" alt="Italiano" /></a>
<a href="?lang=Russian"><img style="border:1px solid black;" src="immagini/bandierine/Russian.gif" alt="Russian" /></a>
<a href="?lang=Deutsch"><img style="border:1px solid black;" src="immagini/bandierine/Deutsch.gif" alt="Deutsch" /></a>
<a href="?lang=English"><img style="border:1px solid black;" src="immagini/bandierine/English.gif" alt="English" /></a>
Quando viene cliccato uno dei link, tramite il GET e SWITCH in PHP richiamati da 2 positions, cambia sia il menu che il content e vengono richiamati entrambi quindi nella lingua richiesta:
1° il modulo navleft:
PHP:
<?php if (isset($_GET['lang']))
{
switch($_GET['lang'])
{
case "Italiano" : include('navleft_1_menu_ita.php');break;
case "English" : include('navleft_1_menu_eng.php');break;
case "Deutsch" : include('navleft_1_menu_deu.php');break;
case "Russian" : include('navleft_1_menu_rus.php');break;
}
}
else{include('navleft_1_menu_ita.php');}
?>
2° la position content (che sarebbe il corpo pagina):
PHP:
<?php
if (isset($_GET['lang']))
{
switch($_GET['lang'])
{
case "Italiano" : include('switch_content_ita.php');break;
case "English" : include('switch_content_eng.php');break;
case "Deutsch" : include('switch_content_deu.php');break;
case "Russian" : include('switch_content_rus.php');break;
}
}
else{include('homepage_ita.php');}
?>
E fino a qui ci siamo...
Ora analizziamo un secondo il codice del menu che viene richiamato in navleft (ne inserisco uno solo tanto l'unica cosa che cambia rispetto agli altri è la dicitura "ita", "eng", "deu" e "rus":
HTML:
<div class="navleft_mod">
<div class="navleft_mod_head"><b>Menu Italiano</b></div>
<div class="navleft_mod_body"><i>
<a href="?lang=Italiano&pagina=about_ita"><img src="immagini/moduli/list_menu.png" alt="" /> Home</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Servizi</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Menù</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Galleria Fotografica</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Eventi e Aggiornamenti</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Dove Siamo</a>
<br /><a href="?pagina=nome"><img src="immagini/moduli/list_menu.png" alt="" /> Contattaci</a></i>
</div>
</div>
Ho scritto solo il primo link perchè tanto poi risolto quello, risolvo tutti gli altri di conseguenza.
Come si può vedere nel link ho dichiarato un'altra variabile che viene switchata dal menu.
Il problema è che se io non dichiaro nel link che la variabile lang è settata su Italiano, quest'ultimo (il link) mi rimanda direttamente alla pagina iniziale come se entrambe le variabili (lang e pagina) non fossero settate.
Settando invece la variabile nel link, il tutto funziona alla perfezione e teoricamente il mio sistema multilingua è già funzionante, volevo sapere più che altro se secondo voi questa può essere una soluzione valida oppure no.
Questo perchè non so bene come gestire le variabili, l'idea che avevo in mente era, che di default il sito si apre in italiano (e funziona) poi però quando viene scelta una lingua, viene settata una variabile (lang) che rimane sempre quella, e le pagine fanno riferimento a questa variabile senza doverla sempre dichiarare in tutti i link, fino a che non viene scelta un'altra lingua.
Spero di essere stato chiaro e preciso, grazie in anticipo a tutti.