Swicciare le lingue

  • Creatore Discussione Creatore Discussione Ikon
  • Data di inizio Data di inizio

Ikon

Utente Attivo
3 Dic 2021
42
1
8
Io ho inserito tale codice ma quando cambia la lingua in default o cambiando pagina dall'inglese ritorna in italiano invece dovrebbe rimanere inglese ho nell' eventualità ad un arrey se qualcuno ha un suggerimento nei codici.

Questo nell'header
<?php



# Recupero il valore di lang



$lang = $_GET['lang'];







# Se la variabile lang è nulla viene selezionata di default



# la lingua italiana (it)



if ($lang == FALSE)



{



$lang = "it";



}







# Includo il file di linguaggio interessato



require("{$lang}.php");



?>

Poi le bandiere ho inserito le bandiere con le due lingue

<li><?php echo "<a href='" . $_SERVER['PHP_SELF'] . "?lang=it'><img src = 'photo/27098it.png'style='max-width:34px;,height:auto;'></a> <b>IT</b>";?></li>




<li><?php echo "<a href='" . $_SERVER['PHP_SELF'] . "?lang=en'><img src = 'photo/18166.jpg'style='max-width:34px;,height:auto;'></a> <b>EN</b>";?></li>



E i file di testo uno inglese ed uno italiano
It.php ed en.php


<?php
# menu navbar

$output[0] = "Home";
$output[1] = "Missione";
$output[2] = "Prodotti";
$output[3] = "Servizi";
$output[4] = "Contatti";
$output[5] = "18166gk.png";
?>
E poi c'è il corrispettivo inglese
<?php
# menu navbar

$output[0] = "Home";
$output[1] = "Mission";
$output[2] = "Products";
$output[3] = "Service";
$output[4] = "Contacts";
$output[5] = "27098it.png";
?>


Il problema che per cambiare la lingua cambia e si legge inglese, ma poi quando si clicca un altra pagina sempre in inglese esce in italiano.
Forse dovrei inserire un arrey? Datemi un consiglio
 
Io ho inserito tale codice che lo trovo interessante per il cambio lingua ma quando cambia la lingua ila cambia solu sulla pagina la seconda di pagina che si richiama rimane in italiano dovrei modificare il default perché cambiando pagina dall'inglese ritorna in italiano invece dovrebbe rimanere inglese ho nell' eventualità ad un arrey se qualcuno ha un suggerimento nei codici.

Questo nell'header
<?php



# Recupero il valore di lang



$lang = $_GET['lang'];







# Se la variabile lang è nulla viene selezionata di default



# la lingua italiana (it)



if ($lang == FALSE)



{



$lang = "it";



}







# Includo il file di linguaggio interessato



require("{$lang}.php");



?>

Poi le bandiere ho inserito le bandiere con le due lingue

<li><?php echo "<a href='" . $_SERVER['PHP_SELF'] . "?lang=it'><img src = 'photo/27098it.png'style='max-width:34px;,height:auto;'></a> <b>IT</b>";?></li>




<li><?php echo "<a href='" . $_SERVER['PHP_SELF'] . "?lang=en'><img src = 'photo/18166.jpg'style='max-width:34px;,height:auto;'></a> <b>EN</b>";?></li>



E i file di testo uno inglese ed uno italiano
It.php ed en.php


<?php
# menu navbar

$output[0] = "Home";
$output[1] = "Missione";
$output[2] = "Prodotti";
$output[3] = "Servizi";
$output[4] = "Contatti";
$output[5] = "18166gk.png";
?>
E poi c'è il corrispettivo inglese
<?php
# menu navbar

$output[0] = "Home";
$output[1] = "Mission";
$output[2] = "Products";
$output[3] = "Service";
$output[4] = "Contacts";
$output[5] = "27098it.png";
?>


Pre anticipatamente ringrazio
 
Ciao, il problema è che stai passando la lingua solo tramite $_GET['lang'], quindi il valore si perde al cambio pagina se il parametro non è presente nell’URL. Per mantenere la lingua selezionata tra una pagina e l’altra, ti conviene memorizzarla in sessione. Una volta che l’utente seleziona una lingua, la salvi in una variabile di sessione e, nelle pagine successive, usi quella se non è stato passato un nuovo parametro. In alternativa, puoi propagare il parametro lang in tutti i link del sito, ma è meno pulito. La soluzione più stabile resta usare le sessioni.
 

Discussioni simili