2010-08-31 12 views
11

mio config/locales/pl.yml di file (campionati da here):Rails 2.3.5 I18n mese/giorno di traduzione dei nomi problema

pl: 
    date: 
    day_names: [Niedziela, Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota] 
    month_names: [~, Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień] 

In script/console:

I18n.locale = 'pl' 
=> "pl" 

Time.now.strftime("%A, %B") 
=> "Tuesday, August" 

Perché? In altre parole, come posso ottenere i nomi dei mesi tradotti? Noterò anche che il file locale è sicuramente letto in quanto include un sacco di altre traduzioni, che funzionano tutte.

risposta

17

Dipende dalla versione di rota che si sta utilizzando. C'è un aiuto per tradurlo, su rails 3.0.0 (non so da quale versione è stato reso disponibile).

In una vista, è possibile scrivere

localize Time.now, :format => '%A, %B' 

nello script/console (o rotaie console), provare a digitare:

controller.localize Time.now, :format => '%A, %B' 

e vedere se funziona. C'è anche il l helper (L minuscola), che è una scorciatoia per localize:

controller.l Time.now, :format => '%A, %B' 
+0

Grazie! Si tratta di usare 'localize' invece di helper' translate'. Btw, in console (in Rails 2.3) dovrebbe essere 'helper.localize Time.now,: format =>"% B "', non 'controller'. E un'altra aggiunta: devi avere le voci 'pl, time, formats' in' pl.yml'. –

Problemi correlati