ruby Rails:如何让Date strftime知道默认的语言环境?

zed5wv10  于 2022-12-26  发布在  Ruby
关注(0)|答案(3)|浏览(99)

我在environment.rb中将默认语言环境设置为de(德语)。
我还看到了德语的所有错误信息,所以服务器会选择语言环境。但当我尝试使用strftime打印date时,如下所示:

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

它以英语(January, 11)打印,而不是预期的德语(Januar, 11)。
如何根据默认区域设置打印日期?

mkh04yzy

mkh04yzy1#

使用llocalize的别名)方法代替原始strftime,如下所示:

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

请参阅此处了解更多信息。
您还可以定义"named"格式,其中一些格式(shortlong)已经预定义。

wooyq4lh

wooyq4lh2#

你也可以把它变短:

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

kmpatx3s3#

在es.yml中放入:

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

在index.html.erb中放入:

<%= l somemodel.datefield %>

相关问题