Ramazeのローカライズ その2

今日は昨日忘れていたのでflashローカライズをやった.で,ローカライズは結局のところ出力前に登録されたフィルタの実行によって行われるので,

[[#{flash[:msg]}]]

とやればいいのだけど,flashを使う時にログを取っててローカライズされないことに気づいた.trait :regexでマッチしたのをキーとして置き換えてるので当たり前と言えば当たり前^^;

Ramaze::Tool::Localize.localize(msg, @config[:default_language])

現状直接呼び出してるんだけど,Ramazeの組み込みログだと:default_languageに合わせてローカライズしてくれた方が嬉しい(気がする).Localizeクラスはロケールファイル内にマッピングがないとその文字をそのまま出力するのだし,困ることがないと思うんだけど…

まぁでもこれはflashに使ったメッセージをログに残したいってことで,大抵の場合はメッセージをハードコーディングとかしちゃうと思うので需要ないのかもしれない.

追記

やっぱya2yamlはオプションにして欲しい(必須でないものを要求されるのはRamazeらしくない感じ).

begin
  $KCODE = 'u'
  require 'ya2yaml'
  [Object, Hash].each do |klass|
    klass.class_eval { alias to_yaml ya2yaml }
  end
rescue LoadError
end

後は下のをto_yamlにして,なかったら通常のyamlを使う.ログもそうだけどパッチとか書いて送ってみようかなぁ.他の人達がLocalizeをどこまで使っているのか分からないので迷っている.