I have my default locale set in the environment.rb
as de
(German).
I also see all the error messages in German, so the locale is picked up by the server. But when I try to print date with strftime
like following:
some_date.strftime('%B, %y')
It prints in English (January, 11
), and not the expected German (Januar, 11
).
How can I print the date according to the default locale?
Use the l
(alias for localize
) method instead of raw strftime, like this:
l(date, format: '%B %d, in the year %Y')
See here for more information, hope that helps.
You can also define 'named' formats, a couple of them (short
, long
) are already predefined.
you can also make it shorter:
l(some_date, :format => '%d %B %Y')
In es.yml put:
es:
date:
formats:
default: "%d / %m / %Y"
In index.html.erb put:
<%= l somemodel.datefield %>