[Yii 1] Localizzazione: come si imposta la lingua dell'utente?

Sto iniziando i lavori per la traduzione in inglese di una piccola app fatta in Yii 1

Ho trasformato la prima stringa hard-coded in una chiamata a Yii::t()

Ho generato il file dei messaggi

Ho inserito a db nella tabella degli utenti una colonna language, con predefinito ‘it’ e che, mi aspetto, avrà un unico utente ‘en’.

Domanda: a questo punto come faccio a dire a Yii la lingua dell’utente?

Per settare la lingua occorre ad esempio:




Yii::app()->language='en';



Ma devi settarla a livello di sessione e in un controller ‘principale’… vedi qui

Per ora l’ho messa in un cookie in fase di login.

A quel punto, quando l’utente si disconnette, il cookie rimane e al prossimo login anche il resto dell’app, quella che non richiede il login, è anch’essa localizzata.

Nel controller da cui derivano tutti gli altri mi sono limitato a verificare il cookie e li settare la lingua.

ottimo!