Desculpe, seu navegador não suporta JavaScript! Casa Open: Traduzindo datas no Rails

Traduzindo datas no Rails

O date_select é um ótimo helper do Rails para se trabalhar com datas. Veja:

<% form_tag do |f| %> 
<%=   date_select("post", "written_on",  options = { :order => [:day, :month, :year],:start_year => 1900, :end_year => Time.now.year },  html_options = { :class=>'select_medio'}) %> 
<% end %>





Mas em muitas aplicações temos a necessidade de traduzir os nomes dos meses. E para fazer isto basta inserir o seguinte código no arquivo config/environment.rb da sua aplicação  como foi mencionado por Nando Vieira em um post.

# Include your application configuration below
Date::MONTHNAMES = [nil] + %w(Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro)
Date::DAYNAMES = %w(Domingo Segunda-Feira Terça-Feira Quarta-Feira Quinta-Feira Sexta-Feira Sábado)
Date::ABBR_MONTHNAMES = [nil] + %w(Jan Fev Mar Abr Mai Jun Jul Aug Set Out Nov Dez)
Date::ABBR_DAYNAMES = %w(Dom Seg Ter Qua Qui Sex Sab)

Time::MONTHNAMES = Date::MONTHNAMES
Time::DAYNAMES = Date::DAYNAMES
Time::ABBR_MONTHNAMES = Date::ABBR_MONTHNAMES
Time::ABBR_DAYNAMES = Date::ABBR_DAYNAMES 


Logo temos:

Mas isso não funciona em aplicações que não possuem a gem I18n. Ou seja: aplicações anteriores ao Rails 2.2. Se este for o seu caso, a forma de exibir os meses traduzidos é:

<% form_tag do |f| %> 
<%= date_select("post", "written_on", options = { :order => [:day, :month, :year], :use_month_names=>["Janeiro" ,"Fevereiro", "Março", "Abril" ,"Maio", "Junho","Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" ],:start_year => 1900, :end_year => Time.now.year}, html_options = { :class=>'select_medio'}) %>
<% end %>  

Fontes:

Comentários

Postar um comentário

Casa Open | by Samuel Vinícius, Belo Horizonte - MG. Powered by Blogger