Дни не переводятся на язык по умолчанию
Я генерирую такие дни:
(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 дней недели.