我正在生成这样的日子:
(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
&#34;将一天表示为数字和名称&#34;。它似乎不是来自官方文档。
答案 0 :(得分:1)
您最终可以翻译这样的日期名称:
<% @calendar.each_with_index do |d, i| %>
<tr>
<td><%= t('date.abbr_day_names')[d.number] %></td>
<% end %>
这意味着number
记录的属性Day
代表7天内的“日期索引”。