• User

    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?


  • User

    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.


  • User

    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:


  • User

    @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

  • User

    @zoster said:

    bella idea, ora lo provo e ti dico l'esito grazie

    good