Forum: Rails I18n String.to_datetime doesn't translate the monthname

Posted by Jeroen van Ingen (jeroen_v)
on 2012-01-04 11:45
For example I have this translation file:
https://github.com/svenfuchs/rails-i18n/blob/maste...
And I've set:
I18n.locale = :it

This works fine:
I18n.localize Time.now -> "Mer 04 Gen 2012, 11:26:17 +0100"
"02 Novembre 2012".to_datetime => Fri, 02 Nov 2012 00:00:00 +0000

But this gives an invalid date:
"02 Gennaio 2012".to_datetime

Date::MONTHNAMES returns:
[nil, "January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"]

The fastest way to solve this problem is to add the months to the YAML
file and translate them into English months. Like this:
Gennaio: January
etc....
Then I do:
"02 #{I18n.t(Gennaio)} 2012".to_datetime => Mon, 02 Jan 2012 00:00:00
+0000

But I was wondering if there is a more cleaner way so I can get it to
work like this:
"02 Gennaio 2012".to_datetime
Posted by Christopher Dell (tigrish)
on 2012-01-04 11:52
(Received via mailing list)
The question is "how to get a DateTime object from an Italian date
string"?
Posted by Jeroen van Ingen (jeroen_v)
on 2012-01-04 12:12
Yup, that's right

But even better: how to get a DateTime object from a date string where 
the  language is other then English?
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.