Rails 2.3.5 I18n проблема перевода имени месяца/дня

Мой config/locales/pl.yml файл (взятый из здесь):

pl:
  date:
    day_names: [Niedziela, Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota]
    month_names: [~, Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień]

В script/console:

I18n.locale = 'pl'
=> "pl"

Time.now.strftime("%A, %B")
=> "Tuesday, August"

Почему? Или, по-другому, как я могу перевести месячные имена? Я также отмечу, что файл локали определенно читается, поскольку он включает в себя множество других переводов, которые все работают.

Ответ 1

Это зависит от того, какую версию rails вы используете. Там помощник, чтобы перевести это, на rails 3.0.0 (я не знаю, из какой версии он был доступен).

В представлении вы можете написать

localize Time.now, :format => '%A, %B'

в консоли script/console (или консоли rails) попробуйте ввести:

controller.localize Time.now, :format => '%A, %B'

и посмотрите, работает ли он. Также существует вспомогательный l (нижний регистр L), который является сокращением для localize:

controller.l Time.now, :format => '%A, %B'