Вопрос

У меня есть локаль по умолчанию в environment.rb в качестве de (Немецкий).

Я также вижу все сообщения об ошибках на немецком языке, поэтому локаль поднимается сервером. Но когда я пытаюсь распечатать дату с strftime Как следующее:

some_date.strftime('%B, %y')

Он печатается на английском (January, 11), а не ожидаемый немецкий (Januar, 11).

Как я могу распечатать дату в соответствии с локалью по умолчанию?

Это было полезно?

Решение

Использовать l (псевдоним для localize) метод вместо необработанного времени, например:

l(date, format: '%B %d, in the year %Y')

Видеть здесь Для получения дополнительной информации, надеюсь, это поможет.

Вы также можете определить «названные» форматы, пара из них (short, long) уже предопределены.

Другие советы

Вы также можете сделать его короче:

l(some_date, :format => '%d %B %Y')

В es.yml put:

es:
  date:
    formats:
      default: "%d / %m / %Y"

В index.html.erb пусть:

<%= l somemodel.datefield %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top