ビールを飲みながら書いた calendar_helper の日本語化

calendar_helper プラグインを使っているという前提です。

module FooHelper
  DATE_TRANS_JA = {
    "January" => "1月", "February" => "2月", "March" => "3月", "April" => "4月",
    "May" => "5月", "June" => "6月", "July" => "7月", "August" => "8月",
    "September" => "9月", "October" => "10月", "November" => "11月", "December" => "12月",
    "Sunday" => "日曜日", "Monday" => "月曜日", "Tuesday" => "火曜日", "Wednesday" => "水曜日",
    "Thursday" => "木曜日", "Friday" => "金曜日", "Saturday" => "土曜日",
    "Sun" => "", "Mon" => "", "Tue" => "", "Wed" => "", "Thu" => "", "Fri" => "", "Sat" => "",
  }
  DATE_TRANS_REGEXP = /\b(#{DATE_TRANS_JA.keys.join("|")})\b/

  def calendar(*args, &block)
    super(*args, &block).gsub(DATE_TRANS_REGEXP){DATE_TRANS_JA[$1]}
  end
end

なんというBK。動けばいいのだ。
このエントリーも言うまでもなくビールを飲みながら書いておる。

追記

calendarメソッドはブロックを取るので、superが明示的にブロックを呼び出すように変更。