Ruby on rails 3 更改日期\u在rails中选择从英语到西班牙语的值

Ruby on rails 3 更改日期\u在rails中选择从英语到西班牙语的值,ruby-on-rails-3,datepicker,Ruby On Rails 3,Datepicker,我正在rails中构建一个站点,我有一个日期选择器,带有rails自动生成的下拉菜单。问题是,我的网站是西班牙语的,几个月的下拉列表值是英语的,有没有办法把语言改成西班牙语 我尝试向我找到的config/environment.rb添加一些代码行 代码基本上是这样的: require 'date' class Date MONTHNAMES = [nil] + %w(Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Oct

我正在rails中构建一个站点,我有一个日期选择器,带有rails自动生成的下拉菜单。问题是,我的网站是西班牙语的,几个月的下拉列表值是英语的,有没有办法把语言改成西班牙语

我尝试向我找到的config/environment.rb添加一些代码行 代码基本上是这样的:

require 'date'
class Date

MONTHNAMES = [nil] + %w(Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre)

module Format

MONTHS = {
  'Enero'  => 1, 'Febrero' => 2, 'Marzo'    => 3, 'Abril'    => 4,
  'Mayo'      => 5, 'Junio'     => 6, 'Julio'     => 7, 'Agosto' => 8,
  'Septiembre'=> 9, 'Octubre'  =>10, 'Noviembre' =>11, 'Diciembre'=>12
}
end
end
但在我再次启动服务器后,一切都没有改变。 我希望您能帮助我,提前谢谢。

来自:

:use_month_names-如果要自定义月份名称,请设置为具有12个月名称的数组。注意:您也可以为此使用Rails的i18n功能

因此,您可以这样做:

<%= f.date_select :date, {:use_month_names => ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre','Diciembre']} %>
config/locales/es.yml

es:
   jan: "Enero"
   feb: "Febrero"
   ...
然后在
config/application.rb
set中:

config.i18n.default_locale = :es
宾果!:-)

在Rails 4中:
(波兰案件:)


对于rails 4.2.5.1或更高版本

您可以使用t('locale\u parameter\u name')代替t(:locale\u parameter\u name)

例如:

:use_month_names => [t('jan'), t('feb'), t('mar'), t('apr'), t('may'), t('jun'), t('jul'), t('aug'), t('sep'), t('oct'), t('nov'), t('dec')]

在rails 5>中,最简单且可扩展的方式

在你看来:

<%= f.date_select :start_time %>
只要更改字符串之间的月份名称即可

:use_month_names => [t('jan'), t('feb'), t('mar'), t('apr'), t('may'), t('jun'), t('jul'), t('aug'), t('sep'), t('oct'), t('nov'), t('dec')]
<%= f.date_select :start_time %>
en:
  date:
    order: ["day", "year",  "month"]
    month_names: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "August", "September", "Oktober", "November", "December"]