[Ruby on Rails 3, Ruby on Rails 4] time_ago_in_words ヘルパーメソッド

例えば Micropost の投稿時間を「○○時間前」のようにしたい場合。
日本語表記にする。

下記のような表示になったので調べてみた。

Posted translation missing: ja.datetime.distance_in_words.about_x_hours ago.

time_ago_in_words

config/locales/ja.yml

config/locales/ja.yml になかったからのようなので、設定してみる。

ja:
  datetime:
    distance_in_words:
      half_a_minute: "30秒前後"
      less_than_x_seconds:
        one:   "1秒"
        other: "%{count}秒"
      x_seconds:
        one:   "1秒"
        other: "%{count}秒"
      less_than_x_minutes:
        one:   "1分"
        other: "%{count}分"
      about_x_hours:
        one:   "約1時間"
        other: "約%{count}時間"

こちらを使ってみると良いのだと思う。

変更結果

Posted 約2時間 ago.

前後の英語は、以下のパーシャルを直す。

app/views/microposts/_micropost.html.erb