Rails:如何使datestrftime知道默认的语言环境?

我有我的默认语言环境设置为de (德国) environment.rb

我也看到所有的德语错误信息,所以语言环境是由服务器拿起。 但是当我尝试使用strftime打印date如下所示:

 some_date.strftime('%B, %y') 

它用英文打印( January, 11 ),而不是预期的德文( January, 11 Januar, 11 )。

如何根据默认语言环境打印date?

使用l (别名为localize )方法而不是原始strftime,如下所示:

 l(date, format: '%B %d, in the year %Y') 

在这里看到更多的信息,希望有所帮助。

你也可以缩短它:

 l(some_date, :format => '%d %B %Y') 

在es.yml里放了:

 es: date: formats: default: "%d / %m / %Y" 

在index.html.erb中放:

 <%= l somemodel.datefield %>