Локализовать имена месяцев - Календарь Railscasts # 213
Я пробовал учебный календарь из эпизода 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>
Я хочу изменить это
![enter image description here]()
Кто-нибудь мне поможет?
благодарственное-х
Ответы
Ответ 1
Вы должны использовать метод localize
для I18n (сокращенный как 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>
Ответ 2
просто хочу уточнить, что если вы используете активную запись, просто просто преобразуйте значение строки 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) %>