Ruby on rails 天数不会转换为默认语言
我创造了这样的日子:Ruby on rails 天数不会转换为默认语言,ruby-on-rails,localized,Ruby On Rails,Localized,我创造了这样的日子: (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><%= t('date.abbr_day_name
(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><%= t('date.abbr_day_names')[d.number] %></td>
<% end %>
config/locales/fr.yml
fr:
date:
abbr_day_names:
- dim
- lun
- mar
- mer
- jeu
- ven
etc.
控制台输出:
2.1.5 :001 > I18n.locale
=> :fr
为什么这些日子没有翻译成法语
编辑:
由于这是一个我必须接手的项目,我试图为
日
课程寻找文档。我发现了一个本地
文档页面,该页面解释了日
“以数字和名称表示一天”。它似乎不是来自官方文档。您最终可以将日期名称翻译为:
(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><%= t('date.abbr_day_names')[d.number] %></td>
<% end %>
这意味着
Day
记录的属性number
表示一周7天内的“Day index”。您必须使用I18n。本地化来翻译日期(快捷方式l
,与t
和translate
)。类似于
的内容,我得到了以下错误:对象必须是日期、日期时间或时间对象给定。
我不理解这个错误,因为我的变量只由天
组成。天
是您自己创建的自定义类吗?如果没有,你能把它的文档链接给我吗?我在网上找不到它:/n没有。见原文。我想我必须手动翻译日期。是的,但最好在给定的月份有一个“日期索引”。这里我只有“周一,周二,[…],周六”,其余的都没有出现。每个月都是相同的日子,这显然是不正确的。这是个好主意!不过我相信我会找到一个解决方案。我会尽快更新主题。number
属性是否保存月份中的日期?就像今天是星期三一样?你把这个月储存在哪里?是的。月份存储在另一个变量中,独立于Days
。您可以使用Date.new(您的年、月、日.number)
来创建日期对象(可使用I18n本地化)似乎有些过分,但它可以工作!我只需要从它的名字中找到一个月的索引。谢谢