我有一个键/值的散列,其中我的键是月/年格式的日期,
{"Apr 2016"=>6.0, "May 2016"=>6.0, "Jun 2016"=>6.0, "Jul 2016"=>6.0, "Aug 2016"=>7.5, "Sep 2016"=>7.5, "Oct 2016"=>7.5, "Nov 2016"=>7.5, "Dec 2016"=>7.5, "Jan 2017"=>8.666666666666666, "Feb 2017"=>8.666666666666666, "Mar 2017"=>8.666666666666666, "Apr 2017"=>6.4, "May 2017"=>6.833333333333333, "Jun 2017"=>6.0, "Jul 2017"=>6.375}
我用chartkick / chartjs
在图表中显示它我希望翻译法语月份格式的密钥, 当我创建我的哈希时,我尝试翻译它,但没有任何工作日期显示仍然是英文
答案 0 :(得分:0)
首先,确保Gemfile中的gem "i18n"
。
I18n.locale
中的rails console
。它应该是:fr
。config/locales/fr.yml
是否存在?date:
formats:
default: "%d/%m/%Y"
default_with_day_name: "%a %d/%m/%Y"
short: "%e %b"
long: "%e %B %Y"
long_with_abbr_month: "%e %b %Y"
long_with_day_name: "%a %e %B %Y"
long_with_full_day_name: "%A %e %B %Y"
long_ordinal: "%e %B %Y"
month_name: "%B"
only_day: "%e"
day_name: "%a"
only_day_and_month: "%d/%m"
only_month_and_year: "%b %Y"
day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
order:
- :day
- :month
- :year
如果一切正常,你可以这样做:
I18n.l('2017-07-30'.to_date, :format => :only_month_and_year) # => "juil. 2017"
答案 1 :(得分:0)
最简单的解决方案是使用rails-i18n
,设置语言环境并使用#localize
方法和format
指令。
将gem rails-i18n
添加到Gemfile并bundle
后需要执行的操作:
[1] pry(main)> I18n.locale = :fr
=> :fr
[2] pry(main)> I18n.l(Date.parse("Apr 2016"), format: '%B %Y')
=> "avril 2016"
[3] pry(main)> I18n.l(Date.parse("Apr 2016"), format: '%b %Y')
=> "avr. 2016"
[4] pry(main)> I18n.l(Date.parse("1st of Apr 2016"), format: '%A %b %Y')
=> "vendredi avr. 2016"
如果你不解析字符串并直接将它们作为日期,那就更容易了。
有关如何使用格式的详细信息,您可以查看strftime文档。