14

我正在尝试 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]

也不工作

在 html.erb 上

<h2 id="month"><%= @date.strftime("%B %Y") %></h2>

我想改变这个

在此处输入图像描述

有人帮我吗?

谢谢

4

2 回答 2

15

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

<h2 id="month"><%= l(@date) %></h2>

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

# config/locales/es.yml
es:
  date:
    formats:
      short: "%B %Y"
      default: "%D %m, %Y"

并像这样使用它:

<h2 id="month"><%= l(@date, format: :short) %></h2>
于 2012-12-14T17:56:57.553 回答
0

只是想澄清一下,如果您使用活动记录,只需将字符串datetime值转换为date对象,如下例所示。

en:
  date:
    formats:
      default: "%Y-%m-%d"
      short: "%b %d"
      long: "%B %d, %Y"
    enter code here

<%= l(post.the_created_at.to_date, format: :long) %>

于 2017-11-29T16:20:18.833 回答