本地化月份名称 - Calendar Railscasts#213

Gee*_*ToL 14 calendar localization ruby-on-rails

我正在试试railscasts第213集的教程日历.我添加es.yml但没有工作.我尝试使用en.yml上的替换单词本地化月份名称,例如

en:
  date:

    month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
    abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
Run Code Online (Sandbox Code Playgroud)

不工作

在html.erb上

<h2 id="month"><%= @date.strftime("%B %Y") %></h2>
Run Code Online (Sandbox Code Playgroud)

我想改变这个

在此输入图像描述

有人帮我吗?

谢谢

MrY*_*iji 14

你应该使用localizeI18n 的方法(缩写为l):

<h2 id="month"><%= l(@date) %></h2>
Run Code Online (Sandbox Code Playgroud)

然后你可以自己设置不同的格式:http: //guides.rubyonrails.org/i18n.html#adding-date-time-formats

# config/locales/es.yml
es:
  date:
    formats:
      short: "%B %Y"
      default: "%D %m, %Y"
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

<h2 id="month"><%= l(@date, format: :short) %></h2>
Run Code Online (Sandbox Code Playgroud)