我将environment.rb
中的默认语言环境设置为de
(德语)。
我还看到德语中的所有错误消息,因此服务器会选择语言环境。但是,当我尝试使用strftime
打印日期时,如下所示:
some_date.strftime('%B, %y')
以英文(January, 11
)打印,而不是预期的德语(Januar, 11
)。
如何根据默认区域设置打印日期?
答案 0 :(得分:103)
使用l
(localize
)别名方法代替raw strftime,如下所示:
l(date, format: '%B %d, in the year %Y')
有关详细信息,请参阅here,希望有所帮助。
您还可以定义“已命名”格式,其中一些(short
,long
)已经预定义。
答案 1 :(得分:28)
你也可以缩短它:
l(some_date, :format => '%d %B %Y')
答案 2 :(得分:8)
在es.yml中:
es:
date:
formats:
default: "%d / %m / %Y"
在index.html.erb中:
<%= l somemodel.datefield %>