Дни не переводятся на язык по умолчанию

Я генерирую такие дни:

(1..days_in_month(year, month)).each do |day|
  calendar << Day.new(day, day_from_date(format_day(day), month, year))
end

И тогда я получаю доступ к их именам на странице шоу:

<% @calendar.each_with_index do |d, i| %>       
   <tr>
   <td><%= d.name %></td>
<% end %>

Дни на английском языке, несмотря на то, что установлен язык по умолчанию на французском языке.

application.rb

config.i18n.default_locale = :fr

конфиг / локали / fr.yml

fr:
  date:
   abbr_day_names:
  - dim
  - lun
  - mar
  - mer
  - jeu
  - ven
  etc.

Консольный вывод:

2.1.5 :001 > I18n.locale
=> :fr 

Почему дни не переводятся на французский?

РЕДАКТИРОВАТЬ:

Поскольку это проект, который мне пришлось взять на себя, я попытался найти документацию для Day учебный класс. Я нашел local страница документации, которая объясняет, что Day msgstr "представляет день как число и имя". Это не похоже на официальную документацию.

1 ответ

В конце концов, вы можете перевести названия дней следующим образом:

<% @calendar.each_with_index do |d, i| %>       
   <tr>
   <td><%= t('date.abbr_day_names')[d.number] %></td>
<% end %>

Это подразумевает, что атрибут number из Day записи представляют "дневной индекс" за 7 дней недели.

Другие вопросы по тегам