# Rails y fechas en espaÃ±ol

**URL:** <https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143>\
**Category:** ES\
**Created:** [October 30, 2008, 2:46pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143 "2008-10-30T14:46:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fernando\_GonzSSSSle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Fernando\_GonzSSSSle](https://www.ruby-forum.com/u/Fernando_GonzSSSSle)\
**Post date:** [October 30, 2008, 2:46pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143/1 "2008-10-30T14:46:54Z")

</div>

En Rails, date\_select por defecto te muestra las cadenas  
correspondientes a los meses en InglÃ©s. El caso es que he aÃ±adido a mi  
aplicaciÃ³n el plugin simplified\_localization, en concreto la Ãºltima  
versiÃ³n 0.9

Cuando lo utilizo con el siguiente cÃ³digo:

```
<%= f.label :fecha %><br><br/>

<%= f.date_select :fecha %>

```

Obtengo el siguiente error:

wrong number of arguments (4 for 3)

Extracted source (around line #19):

16:  
17:

18: \<%= f.label :fecha %\>  
  
  
19: \<%= f.date\_select :fecha %\>  
20:

  
21:  
22: 

Evidentemente, si no uso el plugin, funciona correctamente. Estoy en  
Rails 2.1.1 y supongo que habrÃ¡ algÃºn pufo respecto a esta versiÃ³n de  
Rails y el plugin.

Â¿CÃ³mo pasÃ¡is por defecto al castellano, todo este tipo de cosas en  
vuestras aplicaciones? He encontrado diversos links, en los que se hace  
override de las clases, pero tambiÃ©n me ha dado error en esta versiÃ³n.

Saludos

Fernando GonzÃ¡lez MacÃ­as

removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![Fernando\_GonzSSSSle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Fernando\_GonzSSSSle](https://www.ruby-forum.com/u/Fernando_GonzSSSSle)\
**Post date:** [October 30, 2008, 5:32pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143/2 "2008-10-30T17:32:19Z")

</div>

yo lo que tengo es esto en environment.rbrequire ‘date’

class Date  
MONTHNAMES = [nil] + %w(Enero Febrero Marzo Abril Mayo Junio Julio  
Agosto  
Septiembre Octubre Noviembre Diciembre)  
DAYNAMES = %w(Domingo, Lunes, Martes, Miercoles, Jueves, Viernes,  
Sabado)  
module Format  
MONTHS = {  
‘Enero’ =\> 1, ‘Febrero’ =\> 2, ‘Marzo’ =\> 3, ‘Abril’ =\> 4,  
‘Mayo’ =\> 5, ‘Junio’ =\> 6, ‘Julio’ =\> 7, ‘Agosto’  
=\> 8,  
‘Septiembre’=\> 9, ‘Octubre’ =\>10, ‘Noviembre’ =\>11, ‘Diciembre’  
=\>12  
}

```
DAYS = {
  'Domingo' => 0, 'Lunes' => 1, 'Martes' => 2, 'Miercoles'=> 3,
  'Jueves' => 4, 'Viernes' => 5, 'Sabado' => 6
}

```

end

end

class Time  
alias :strftime\_nolocale :strftime

def strftime(format)  
format = format.dup  
format.gsub!(/%a/, Date::ABBR\_DAYNAMES[self.wday])  
format.gsub!(/%A/, Date::DAYNAMES[self.wday])  
format.gsub!(/%b/, Date::ABBR\_MONTHNAMES[self.mon])  
format.gsub!(/%B/, Date::MONTHNAMES[self.mon])  
self.strftime\_nolocale(format)  
end  
end

y me funciona bien. respecto a tu error mm pues no haz probado ir a los  
rb y  
ver quien esta dando ese parametro de mas y porque.  
sigue el trace completo de la excepcion y revisa los rb del plugin a  
ver  
que anda haciendo si estas usando la gema y no los rb directos en lib  
pues  
ve a las carpetas de ruby donde estan las gemas y por ahi debe estar el  
codigo para que le heches un vistaso.

El 30 de octubre de 2008 7:43, Fernando GonzÃ¡lez MacÃ­as \<  
removed\_email\_address@domain.invalid\> escribiÃ³:

---

<div class="post-metadata">

**Author:** ![Fernando\_GonzSSSSle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Fernando\_GonzSSSSle](https://www.ruby-forum.com/u/Fernando_GonzSSSSle)\
**Post date:** [October 30, 2008, 6:09pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143/3 "2008-10-30T18:09:20Z")

</div>

Ok, gracias.

La soluciÃ³n que tÃº utilizas, me funciona, aunque me salen unos mensajes  
de Warnings al arrancar la aplicaciÃ³n.

C:\Rails\pdfaccess\>ruby script/server

=\> Booting WEBrick…

C:/Rails/pdfaccess/config/environment.rb:14: warning: already  
initialized consta

nt MONTHNAMES

C:/Rails/pdfaccess/config/environment.rb:15: warning: already  
initialized consta

nt DAYNAMES

C:/Rails/pdfaccess/config/environment.rb:20: warning: already  
initialized consta

nt MONTHS

C:/Rails/pdfaccess/config/environment.rb:26: warning: already  
initialized consta

nt DAYS

=\> Rails 2.1.1 application started on [http://0.0.0.0:3000](http://0.0.0.0:3000)

=\> Ctrl-C to shutdown server; call with --help for options

[2008-10-30 17:39:43] INFO WEBrick 1.3.1

[2008-10-30 17:39:43] INFO ruby 1.8.6 (2007-03-13) [i386-mswin32]

[2008-10-30 17:39:43] INFO WEBrick::HTTPServer#start: pid=2932  
port=3000

De todas formas me gustarÃ­a saber si esta es la opciÃ³n predeterminada  
por el resto de programadores o bien utilizÃ¡is alguna otra cosa.

Saludos

Fernando GonzÃ¡lez MacÃ­as

fgonzalez @ [grupojoly.com](http://grupojoly.com)

* * *

De: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] En nombre de Omar J.  
Enviado el: jueves, 30 de octubre de 2008 17:31  
Para: La lista sobre Ruby On Rails ([rubyonrails.com](http://rubyonrails.com)) en castellano  
Asunto: Re: [Ror-es] Rails y fechas en espaÃ±ol

yo lo que tengo es esto en environment.rb

require ‘date’

class Date

MONTHNAMES = [nil] + %w(Enero Febrero Marzo Abril Mayo Junio Julio  
Agosto Septiembre Octubre Noviembre Diciembre)

DAYNAMES = %w(Domingo, Lunes, Martes, Miercoles, Jueves, Viernes,  
Sabado)

module Format

```
MONTHS = {

  'Enero' => 1, 'Febrero' => 2, 'Marzo' => 3, 'Abril' => 4,

  'Mayo' => 5, 'Junio' => 6, 'Julio' => 7, 'Agosto' 

```

=\> 8,

```
  'Septiembre'=> 9, 'Octubre' =>10, 'Noviembre' =>11, 'Diciembre' 

```

=\>12

```
}

DAYS = {

  'Domingo' => 0, 'Lunes' => 1, 'Martes' => 2, 'Miercoles'=> 3,

  'Jueves' => 4, 'Viernes' => 5, 'Sabado' => 6

}

```

end

end

class Time

alias :strftime\_nolocale :strftime

def strftime(format)

```
format = format.dup

format.gsub!(/%a/, Date::ABBR_DAYNAMES[self.wday])

format.gsub!(/%A/, Date::DAYNAMES[self.wday])

format.gsub!(/%b/, Date::ABBR_MONTHNAMES[self.mon])

format.gsub!(/%B/, Date::MONTHNAMES[self.mon])

self.strftime_nolocale(format)

```

end

end

y me funciona bien. respecto a tu error mm pues no haz probado ir a los  
rb y ver quien esta dando ese parametro de mas y porque.

sigue el trace completo de la excepcion y revisa los rb del plugin a  
ver que anda haciendo si estas usando la gema y no los rb directos en  
lib pues ve a las carpetas de ruby donde estan las gemas y por ahi debe  
estar el codigo para que le heches un vistaso.

El 30 de octubre de 2008 7:43, Fernando GonzÃ¡lez MacÃ­as  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) escribiÃ³:

En Rails, date\_select por defecto te muestra las cadenas  
correspondientes a los meses en InglÃ©s. El caso es que he aÃ±adido a mi  
aplicaciÃ³n el plugin simplified\_localization, en concreto la Ãºltima  
versiÃ³n 0.9

Cuando lo utilizo con el siguiente cÃ³digo:

```
<%= f.label :fecha %><br><br/>

<%= f.date_select :fecha %>

```

Obtengo el siguiente error:

wrong number of arguments (4 for 3)

Extracted source (around line #19):

16:  
17:

18: \<%= f.label :fecha %\>

19: \<%= f.date\_select :fecha %\>  
20:

  
21:  
22: 

Evidentemente, si no uso el plugin, funciona correctamente. Estoy en  
Rails 2.1.1 y supongo que habrÃ¡ algÃºn pufo respecto a esta versiÃ³n de  
Rails y el plugin.

Â¿CÃ³mo pasÃ¡is por defecto al castellano, todo este tipo de cosas en  
vuestras aplicaciones? He encontrado diversos links, en los que se hace  
override de las clases, pero tambiÃ©n me ha dado error en esta versiÃ³n.

Saludos

Fernando GonzÃ¡lez MacÃ­as

removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![Fernando\_GonzSSSSle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Fernando\_GonzSSSSle](https://www.ruby-forum.com/u/Fernando_GonzSSSSle)\
**Post date:** [October 30, 2008, 6:26pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143/4 "2008-10-30T18:26:20Z")

</div>

2008/10/30 Omar J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> yo lo que tengo es esto en environment.rb

Yo probé con algo parecido hace tiempo, pero al final hay otras cosas  
que te da el framework (como el distance\_of\_time\_in\_words) que  
tambiénmola tener traducidas.

Para esto mismo hay un plugin, l10n\_simplified [1] que está bastante  
bien, aunque no estoy seguro de que funcione en versiones actuales de  
Rails, puedes probar. En caso de que no te funcione puedes echarle un  
vistazo al código, es muy asequible [2].

[1] [http://rubyforge.org/frs/?group\_id=2074](http://rubyforge.org/frs/?group_id=2074)  
[2]  
[http://l10n-simplified.rubyforge.org/svn/lib/localization\_simplified.rb](http://l10n-simplified.rubyforge.org/svn/lib/localization_simplified.rb)

---

<div class="post-metadata">

**Author:** ![Fernando\_GonzSSSSle](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/bb73d2/32.png) [@Fernando\_GonzSSSSle](https://www.ruby-forum.com/u/Fernando_GonzSSSSle)\
**Post date:** [October 30, 2008, 7:18pm UTC](https://www.ruby-forum.com/t/rails-y-fechas-en-espaa-ol/152143/5 "2008-10-30T19:18:31Z")

</div>

Hola David.

Este es el que he comentado en un primer correo, que he probado y que me  
ha fallado en un data\_select con Rails 2.1.1

Estoy empezando, así que tengo que ir a lo seguro… ;–))))

Gracias…

Fernando González Macías  
fgonzalez @ [grupojoly.com](http://grupojoly.com)

-----Mensaje original-----  
De: removed\_email\_address@domain.invalid  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] En nombre de David A.  
Enviado el: jueves, 30 de octubre de 2008 18:18  
Para: La lista sobre Ruby On Rails ([rubyonrails.com](http://rubyonrails.com)) en castellano  
Asunto: Re: [Ror-es] Rails y fechas en  
español  
2008/10/30 Omar J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> yo lo que tengo es esto en environment.rb

Yo probé con algo parecido hace tiempo, pero al final hay otras cosas  
que te da el framework (como el distance\_of\_time\_in\_words) que  
tambiénmola tener traducidas.

Para esto mismo hay un plugin, l10n\_simplified [1] que está bastante  
bien, aunque no estoy seguro de que funcione en versiones actuales de  
Rails, puedes probar. En caso de que no te funcione puedes echarle un  
vistazo al código, es muy asequible [2].

[1] [http://rubyforge.org/frs/?group\_id=2074](http://rubyforge.org/frs/?group_id=2074)  
[2]  
[http://l10n-simplified.rubyforge.org/svn/lib/localization\_simplified.rb](http://l10n-simplified.rubyforge.org/svn/lib/localization_simplified.rb)

* * *

Ror-es mailing list  
removed\_email\_address@domain.invalid  
[http://lists.simplelogica.net/mailman/listinfo/ror-es](http://lists.simplelogica.net/mailman/listinfo/ror-es)
