2013-03-13 8 views
5

Yii ha un sacco di traduzioni nei file framework/i18n/data /% lang% .php. Ecco ad esempio il german translationsRicevi mese tradottoNomi/giornoNome come matrice in Yii

Voglio usare Fullcalendar nel mio progetto Yii. Per tradurre questo calendario, devo fornire una serie di nomi mese/giorno per la lingua corrente. Fullcalendar monthNames Documentation

Qual è il modo migliore in Yii per generare serie in questo modo:

['January', 'February', 'March', 'April', 'May', 'June', 'July', 
'August', 'September', 'October', 'November', 'December'] 
+0

desideri stesso risultato che array JavaScript? –

+0

Voglio ottenere array PHP di monthNames per la lingua corrente. Posso usare json_encode() in seguito, per convertirlo in JS per Fullcalendar. – TUNER88

risposta

6

È possibile generare che con json_encode (o Yii nativi CJSON::encode()) ei dati forniti da Yii:

json_encode(
    include('path/to/yii/framework/i18n/data/de_de.php')['monthNames']['wide'] 
); 

(questa sintassi richiede PHP 5.4 per array dereferencing)

Dalla corrente locale all'interno Yii cioè:

json_encode(
    Yii::app()->locale->getMonthNames() 
) 

Vedi http://www.yiiframework.com/doc/api/1.1/CLocale#getMonthNames-detail

+0

Questa soluzione funzionerebbe, ma non è il modo Yii di farlo. Può smettere di funzionare se il framework sposta questi file o aggiorna le chiavi dell'array ... – TUNER88

+0

Qualche idea su come ottenerlo con CDateFormatter o altre classi di formazione? – TUNER88

+2

Si potrebbe fare con 'CDateFormatter :: formatMonth()'. Oppure ottieni il nome del mese direttamente dalle impostazioni locali con 'CLocale :: getMonthName (1 - 12, 'wide')' – hakre