2013-10-11 14 views
9

Sono abbastanza nuovo con le rotaie anche con il rubino.Non posso semplicemente ottenere il nome del giorno I18n-ed?

Voglio solo ottenere il I18n.l di un nome di giorno o un nome di mese, senza una data o un'ora intera. Perché io non ce l'ho.

Per esempio, voglio semplicemente per internazionalizzare ad esempio

= l Date::DAYNAMES[0] 

o

= l Date::MONTHNAME[0] 

è possibile?

risposta

19

È possibile accedere ai nomi dei giorni con:

I18n.t(:"date.day_names") 
#=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 

e il mese nomi con:

I18n.t(:"date.month_names") 
#=> [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 
+0

oppure, in altre parole, Date :: DAYNAMES [0] verrebbe tradotto in I18n.t (: "date.day_names") [0] –

0

AFAICT, tali informazioni non sono esposte direttamente dall'API Rails I18N. Probabilmente è più facile creare una data nel mese o nel giorno della settimana di cui hai bisogno, localizzarla ed estrarre la stringa desiderata.

+0

Temo di sì ... ho trovato qualcosa di simile, I18n.t "data .abbr_day_names "ma suppongo di dover prima trasformare la matrice in – raulricardo21

+0

' Date :: ABBR_DAYNAMES.map {| s | I18n.ts} 'può funzionare se hai definito traduzioni per loro ... –

+0

@Mark Reed, ho definito le traduzioni, infatti mi sono imbattuto in questo I18n.t (Date :: DAYNAMES [@ prod.start_day]) perché mi ha dato "traduzione mancante" per l'oggetto e ho solo dovuto aggiungere il file yaml. Tuttavia Date :: DAYNAMES.zip ((0..6) .map {| s | I18n.ts} restituisce solo i valori EN – Jerome

2

Vengo dal brasile. Nelle mie applicazioni rails ho un pt-BR.yml all'interno di config/locales. E 'come questo:

"pt-BR": 
    date:  
    day_names: 
     - Domingo 
     - Segunda 
     - Terça 
     - Quarta 
     - Quinta 
     - Sexta 
     - Sábado 

E' lo stesso per i nomi dei mesi, ecc ... Nel mio application.rb ho

config.i18n.default_locale = 'pt-BR' 

Questo mi dà nomi tradotti. Leggi il I18N guide per ulteriori informazioni.

Problemi correlati