mar*_*maf 2 datepicker ruby-on-rails-3
我正在使用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
Run Code Online (Sandbox Code Playgroud)
但是在我再次启动服务器后没有任何改变.我希望你能提前帮助我.
从文档:
: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']} %>
Run Code Online (Sandbox Code Playgroud)
或者,对于骨骼国际化点,使用t()方法调用替换字符串并使用Rails的I18n本地化文件:
<%= f.date_select :date, {: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)]} %>
Run Code Online (Sandbox Code Playgroud)
在 config/locales/es.yml
es:
jan: "Enero"
feb: "Febrero"
...
Run Code Online (Sandbox Code Playgroud)
然后在config/application.rb集合中:
config.i18n.default_locale = :es
Run Code Online (Sandbox Code Playgroud)
答对了!:-)
| 归档时间: |
|
| 查看次数: |
4582 次 |
| 最近记录: |