Rails: Как сделать Date strftime осведомленным о локали по умолчанию?
У меня есть локаль по умолчанию, установленная в environment.rb
как de
(немецкий).
Я также вижу все сообщения об ошибках на немецком языке, поэтому локаль воспринимается сервером. Но когда я пытаюсь напечатать дату с strftime
следующим образом:
some_date.strftime('%B, %y')
Он печатает на английском языке (January, 11
), а не ожидаемый немецкий (Januar, 11
).
Как распечатать дату в соответствии со стандартом по умолчанию?
Ответы
Ответ 1
Используйте метод l
(псевдоним для localize
) вместо raw strftime, например так:
l(date, format: '%B %d, in the year %Y')
Смотрите здесь для получения дополнительной информации, надеюсь, это поможет.
Вы также можете определить "именованные" форматы, пара из них (short
, long
) уже предопределены.
Ответ 2
вы также можете сделать его короче:
l(some_date, :format => '%d %B %Y')
Ответ 3
В es.yml put:
es:
date:
formats:
default: "%d / %m / %Y"
В index.html.erb put:
<%= l somemodel.datefield %>