- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come gestire un sito con due lingue
-
Come gestire un sito con due lingue
Ciao a tutti,
ho un problemino. Devo sviluppare un sito con due lingue: italiano e inglese. Onde evitare di fare le solite due cartelle mi piacerebbe gestire il tutto con php, attraverso un ciclo if.Qualcuno di voi riesce a farmi un esempio?
-
L'idea più giusta secondo me sarebbe di fare un'array contenente tutte le stringhe che ti servono.
esempio:
[php]$lingua["IT"][0] = "Ciao";
$lingua["IT"][1] = "Buon giorno";
$lingua["IT"][2] = "arrivederci";
$lingua["IT"][3] = "benvenuto";
$lingua["IT"][4] = "Il php ogni tanto rompe le scatole</br>Ma ha noi piace per questo.";$lingua["EN"][0] = "Hello";
$lingua["EN"][1] = "Good morning";
$lingua["EN"][2] = "good bye";
$lingua["EN"][3] = "welcome";
$lingua["EN"][4] = "The php from time to time it breaks off the box</br>But has we appeals to for this.";
[/php] fatto l'array fai in modo che l'utente scelga la lingua.
E in base alla lingua scelta poi lo usi così[php]if (condizione di nazionalità) {
$lng = "IT";
} else {
$lng = "EN";
}<p><?php echo $lingua[lng][0];?></p>[/php]
Ora mi chiedo però come fare per capire la nazionalità del visitatore senza chiederlo a lui. Qualcuno sa come fare?Oppure altro metodo sarebbe quello di fare dei file multipli contenenti un singolo array per lingua.
file[php]//it.inc.php
$lingua[0] = "Ciao";
$lingua[1] = "Buon giorno";
$lingua[2] = "arrivederci";
$lingua[3] = "benvenuto";
$lingua[4] = "Il php ogni tanto rompe le scatole</br>Ma ha noi piace per questo.";
[/php]
altro file[php]//en.inc.php
$lingua[0] = "Hello";
$lingua[1] = "Good morning";
$lingua[2] = "good bye";
$lingua[3] = "welcome";
$lingua[4] = "The php from time to time it breaks off the box</br>But has we appeals to for this.";[/php]
e in base alla lingua del visitatore includi il file giusto per la lingua. Ovviamnete non c sono limiti di numero di lingue in entrambi i casi, xrò nel primo esempio avresti tutto in un unico file nel secondo un file per ogni lingua.
Il sito rimarrebbe sempre e comunque uno in entrambi i casi.
-
Per vedere la lingua del visitatore prova con questo codice..
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; if (substr($lang, 0, 2) == "it") { include("it.inc.php"); } else { include("en.inc.php"); }
Non ho testato, quindi come sempre ci pottrebbero essere dei errori..:?:D:bho:
-
@Andriy said:
Per vedere la lingua del visitatore prova con questo codice..
> $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; if (substr($lang, 0, 2) == "it") { include("it.inc.php"); } else { include("en.inc.php"); } >``` Non ho testato, quindi come sempre ci pottrebbero essere dei errori..:?:D:bho: bella idea, ora lo provo e ti dico l'esito grazie
-