Getlanguage() E Sessione

Ciao a tutti ,

è la prima volta che cerco di utilizzare la Internationalization di yii.

Allora nel /config/main.php ho inserito:




  'language'=>'it',

  'language'=>'en',

   'sourceLanguage'=>'it_IT',



ho fatto le due cartelle dentro messages "en" ed "it" dove ho messo i due file.

Poi dentro al main ho inserito die link per provare :





        //Yii::app()->setLanguage("it");

        echo "get: ". Yii::app()->getLanguage() . "<br>";

        echo "session: " .Yii::app()->session['lang']. "<br>";

        

        echo CHtml::link('italiano', array('site/language', 'lang'=>'it')). "<br>";

        echo CHtml::link('english', array('site/language', 'lang'=>'en')). "<br>";



e nel controller





        function actionlanguage() {

            if (isset($_GET['lang']))

                Yii::app()->session['lang'] = $_GET['lang'];


            if (isset(Yii::app()->session['lang']))

                Yii::app()->setLanguage(Yii::app()->session['lang']);


            $this->redirect(Yii::app()->homeUrl);

        }




Allora se clicco sul link mi accorgo che la sessione viene settata sia in "it" che in "en" a secondo di dove clicco, mentre getLanguage() rimane sempre su "en" ed in effetti il menu viene preso in inglese.

Se invece provo a fare Yii::app()->setLanguage(“it”) nel main la lingua viene settata giustamente il menu ora è in italiano, mentre il testo che è nella pagina index rimane in inglese :)

Insomma non credo che mi sti funzionando proprio come dovrebbe :D

Mi sapete dire dove sto sbagliando :D

caio giuseppe

Non e’ molto chiaro come stai procedendo.

Per impostare la lingua e’ comodo usare una application behavior, vedi qua.

Per chiarire il concetto generale, devi impostare una lingua base (nel tuo caso it), significa che tu scrivi tutto in italiano.

Se imposti la lingua su inglese verrano scelte le view presenti nelle sottocartelle en e i messaggi nella cartella messages/en

grazie… Zaccaria,

forse stavo procedendo a tentativi :D

provo subito ad utilizzare questo behavior, e ti faccio sapere…

grazie mille

giuseppe

ho usato il widget! ora va alla grandw.

grazie mille