Ruby on rails 3 更改日期\u在rails中选择从英语到西班牙语的值
我正在rails中构建一个站点,我有一个日期选择器,带有rails自动生成的下拉菜单。问题是,我的网站是西班牙语的,几个月的下拉列表值是英语的,有没有办法把语言改成西班牙语 我尝试向我找到的config/environment.rb添加一些代码行 代码基本上是这样的: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
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"]