environment.rb
にデフォルトのロケールがde
(ドイツ語)として設定されています。
また、すべてのエラーメッセージがドイツ語で表示されるため、サーバーがロケールを取得します。しかし、次のようにstrftime
で日付を印刷しようとすると:
some_date.strftime('%B, %y')
予想されるドイツ語(January, 11
)ではなく、英語(Januar, 11
)で印刷されます。
デフォルトのロケールに従って日付を印刷するにはどうすればよいですか?
次のように、生のstrftimeの代わりにl
(localize
のエイリアス)メソッドを使用します。
l(date, format: '%B %d, in the year %Y')
詳細については here を参照してください。
「名前付き」フォーマットを定義することもできます。それらのいくつか(short
、long
)はすでに事前定義されています。
短くすることもできます:
l(some_date, :format => '%d %B %Y')
Es.ymlに以下を置きます:
es:
date:
formats:
default: "%d / %m / %Y"
Index.html.erbに以下を入力します。
<%= l somemodel.datefield %>