Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 天数不会转换为默认语言_Ruby On Rails_Localized - Fatal编程技术网

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本地化)似乎有些过分,但它可以工作!我只需要从它的名字中找到一个月的索引。谢谢