[Ror-es] Localizacion de fechas

Aníbal Rojas
Thu Feb 2 18:11:23 GMT 2006


Felipe,

   Código como ese lo puedes colocar en:

   http://www.bigbold.com/snippets/tag/rails

--
Aníbal Rojas
http://www.lacaraoscura.com


On 2/2/06, Felipe Talavera Armero  wrote:
> Holas,
> Yo hace poco me vi en tu situacion y estuve barajando algunas de las
> posibildiades que has comentado, pero al final decidi que lo mejor para
> mi caso era tirar de helper globales, por lo que me implemente las
> versiones castellanas de algunos helper, te las pasteo.
>
> Estos helper yo lo uso de manera global a la aplicacion, en
> app/helper/application.rb
>
> module ApplicationHelper
>
> def distancia_post_en_palabras(from_time, to_time = 0, include_seconds =
> false)
>         from_time = from_time.to_time if from_time.respond_to?(:to_time)
>         to_time = to_time.to_time if to_time.respond_to?(:to_time)
>         distance_in_minutes = (((to_time - from_time).abs)/60).round
>         distance_in_seconds = ((to_time - from_time).abs).round
>
>         case distance_in_minutes
>           when 0..1
>             return (distance_in_minutes==0) ? 'menos de un minuto' : '1
> minuto' unless include_seconds
>             case distance_in_seconds
>               when 0..5   then 'menos de 5 segundos'
>               when 6..10  then 'menos de 10 segundos'
>               when 11..20 then 'menos de 20 segundos'
>               when 21..40 then 'medio minuto'
>               when 41..59 then 'menos de un minuto'
>               else             '1 minuto'
>             end
>
>           when 2..45      then "#{distance_in_minutes} minutos"
>           when 46..90     then 'sobre una hora'
>           when 90..1440   then "sobre #{(distance_in_minutes.to_f /
> 60.0).round} horas"
>           when 1441..2880 then '1 dia'
>           else                 "#{(distance_in_minutes / 1440).round}
> dias"
>         end
>  end
>
>   def precio(precio)
>     if precio==0
>       then 'A negociar'
>     else
>       precio=number_to_currency(precio,{:unit=> "", :separator =>
> ",", :delimiter => ".", :precision => 0 })
>       "#{precio} €"
>     end
>   end
>
> def mensaje_error(object_name, options = {})
>          options = options.symbolize_keys
>          object = instance_variable_get("@#{object_name}")
>          unless object.errors.empty?
>            content_tag("div",
>              content_tag(
>                options[:header_tag] || "h2",
>                "Hay #{pluralize(object.errors.count, "campo")} que no
> han sido completados debidamente."
>              ) +
>              content_tag("p"," Hay problemas con los siguientes
> campos:") +
>              content_tag("ul", object.errors.full_messages.collect { |
> msg| content_tag("li", msg) }),
>              "id" => options[:id] || "errorExplanation", "class" =>
> options[:class] || "errorExplanation"
>            )
>          end
>        end
> end
>
> El de mensaje de error lo que te modifica es la parte del cuadro que
> salia en ingles diciendo cuantos errores ha habido y para modificar los
> mensajes en funcion de lo que no han rellenado yo uso el
> atributo :message de los validadores de los model como
> validates_numericality_of :precio, :message=> "debe ser un numero."
>
> Espero te sean de utilidad.
>
> Un saludo
> Felipe Talavera
> http://n2kp3.com/blog
>
>
>
> El jue, 02-02-2006 a las 09:47 -0600, rene escribió:
> > Hola, saludos railistas, soy nuevo por aca pero estoy muy contento de
> > que hay una lista para hablantes de espanol.
> >
> > Mis aplicaciones no demandan en estos momentos la capacidad  de
> > internacionalizacion, sin embargo al ser rails tan centrado en una
> > base de usuarios anglos pues hay ciertas cosas que tiene uno que
> > arreglar por su cuenta.
> >
> >
> > Lo primero eran los mensajes de error para los campos con validacion.
> > No habia forma de editar los mensajes, trate hasta de buscar los
> > strings en la source pero eso habria sido malo. Encontre un plugin
> > que me ha ayudado a ese respecto:
> > http://www.railtie.net/articles/2006/01/26/enhancing_rails_errors que
> > esta hecho por BobSilva y su plugin no esta pensada para eso pero se
> > lo hare saber cuando le vea en #rubyonrails
> >
> >
> > Lo segundo es un poco mas complicado y es localizar las funciones de
> > fechas que te da por ejemplo date_select, las monedas y el
> > time_ago_from_words, Se que globalize puede hacer esto, pero
> > globalize parece ser demasiado para los requerimentos que tengo,
> > aunque alguien que ya lo haya usado de esta manera pudiera
> > corregirme, lo que seria bueno... Tal vez haya otras formas, Estoy
> > consciente de que podria hacer arrays con meses y dias y hacer mis
> > formatos de fecha yo mismo,. pero bueno DRY verdad?
> >
> > Saludos
> > Rene Mendoza
> > _______________________________________________
> > Ror-es mailing list
> > 
> > 
>
> _______________________________________________
> Ror-es mailing list
> 
> 
>