• User Newbie

    Sito multilingua in php

    'giorno, sono nuovo del forum (registrato qualche secondo fa) Vedo che qui pullula di esperti, scusate la domanda da niubbo, ma non ci sto capendo molto.

    La mia esigenza è creare un sito multilingua, permettere all'utente di "switchare" da una lingua all'altra rimanendo sulla stessa pagina, fare in modo che le traduzioni stiano in file separati (it.lng, en.lng, ecc.).

    Ho fatto due cose in merito a ciò, vi posto il mio codice:

    it.lng```
    <?PHP
    $txt['benvenuto'] = 'Benvenuto!';
    $txt['login'] = 'Effettua il login!';
    ?>

    <?PHP
    $txt['benvenuto'] = 'Welcome!';
    $txt['login'] = 'Please, login!';
    ?>

    
    Questo è il mio index.php
    

    <?PHP
    function check_lang() {
    if (!isset($_SESSION['lang'])) {
    $lang = 'en';
    } else {
    $lang = $_SESSION['lang'];
    }

    //nome directory
    $dir = 'lingue';

    return "$dir/$lang.lng";
    }
    ?>

    <?PHP
    $lang = check_lang();
    include_once($lang);

    echo $txt['benvenuto'];
    ?>

    
    Grazie.

  • ModSenior

    Ciao TheJoe,

    crea un file che cambi la variabile di sessione ad esempio:
    change_language.php
    [php]
    <?php
    if(in_array($_GET['lingua'], array('it', 'en')))
    {
    session_start();

    $_SESSION['lang'] = $_GET['lingua'];
    }
    header('Location: /');
    exit;
    [/php]

    A questo punto è sufficiente fare un collegamento a change_language.php?lingua=it per far cambiare la lingua in italiano e change_language.php?lingua=en per cambiare la lingua in inglese.