I'm having a weird problem, hoping someone knows what the issue is...
Using distance_of_time_in_words (and consequently time_ago_in_words) is not returning the actual time distance. Instead it is returning things like "en, about_x_hours" or "en, x_minutes".
The pattern is correct, as in:
time_ago_in_words(50.minutes.ago) => "en, about_x_hours"
time_ago_in_words(3.minutes.ago) => "en, x_minutes"
But why on earth is it displaying "x" instead of the actual number, "_" instead of spaces, and "en, " at the beginning of all of that?!
That gives back a string to translate via the I18n-gem.... Try following:
And add (if doesnt exist) following in
And be sure to include following (maybe customized) data in your en.yml:
http://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en.yml
Please tell me if it works..
Shamelessly ripped off time_ago_in_words => "in {{count}} days."?
Rails was using some deprecated syntax in the helper which then got dropped in the latest Ruby version. If you are using something like Heroku, try telling your production instance to use Rails 2.3.9. Otherwise you can also try downgrading Ruby.
See the changelog: http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-released
So I finally got it to work!! Hope this helps anyone who might have the same problem...
Basically half of what Lichtamberg first said was correct. The en.yml had to be as follows:
Note that
x_minutes
is not underdatetime
and that it hasone
andother
. Further, there is no need forI18n.l
as I18n is already implemented in thedistance_of_time_in_words
method.So with the above (plus all the other about_x_hours, x_days, etc patterns that you can find on the file Lichtamberg included), just do:
And... voila!