MouseOver Studio

MouseOver Studio header image 2

Formatando datas no Rails, agora com suporte a i18n

August 6th, 2008 por Diego Carrion · 2 comentários

Com o suporte a i18n do Rails Edge a formatação de datas ficou muito mais legal e interessante. Agora já não é necessário utilizar o método to_s(formato) nem definir os formatos no conhecido array DATE_FORMATS.

Para formatar datas no Rails com suporte a i18n podemos utilizar as seguintes sintaxes:

I18n.localize(@date)
I18n.localize(@date, :format => "full")
I18n.localize(@time, :format => "xpto")

Os formatos irão ser procurados no arquivo correspondente ao locale ativo, quer dizer, o valor de i18n.locale.

Mas ainda tem mais. Caso nosso formato utilize alguma palavra para identificar um dia ou um més, essa palavra ira ser procurada também no arquivo anteriormente mencionado.

Segue como exemplo um arquivo para o locale pt-BR que estou utilizando num projeto:

I18n.store_translations 'pt-BR',
  ...
  :date => {
    :abbr_day_names => %w[Dom Seg Ter Qua Qui Sex Sab],
    :abbr_month_names => %w[nil Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez],
    :day_names => %w[Domingo Segunda Terça Quarta Quinta Sexta Sabado],
    :formats => {
      :day_month_year => "%d/%m/%Y",
      :month_year =>  "%B de %Y"
    },
    :order => [:day, :month, :year],
    :month_names => %w[nil Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro]
  },
  ...

Tags: data · edge · formato · i18n · rails · rails2

2 respostas ate agora ↓

  • 1 Ronaldo César Schork Júnior // Jun 4, 2009 at 2:00 pm

    Bem o que eu precisava. Simples e fácil de entender, obrigado !

  • 2 gazongmk // May 8, 2010 at 11:56 pm

    I am sorry, that I interfere, but it is necessary for me little bit more information.
    I consider, that you are not right. Let’s discuss.
    Also that we would do without your remarkable phrase
    Very much a prompt reply :)
    Bravo, is simply excellent phrase :)

Deixar um comentário