探し方が悪かったのか、取るに足らないことなのか、なかなか見つからなかったのでメモ。
定義の仕方
config/locales/ja.yml などの言語ファイルの文字列に、変数を渡して、展開して欲しいときの書き方。
# config/locales/ja.yml
ja:
greet:
morning: "おはよウナギ!%{name}さん"
noon: "こんにちワン!%{name}さん"
evening: "こんばんワニ!%{name}さん"
# usage
t "greet.morning", :name => "唯" # おはよウナギ!唯さん
t "greet.morning", :name => "澪" # こんにちワン!澪さん
t "greet.morning", :name => "律" # こんばんワニ!律さん
%{name} で定義して、ハッシュで渡せばよいです。
ただし、:default と :scope という名前はつかえませんので、それ以外で定義します。
:default は未定義の場合に返す文字列を指定し、:scope は 定義のネストを指定するのに使われるためです。
少し前のバージョンだと、 という定義だったようですが、%{name} というフォーマットに変わったそうです。Rails3.1 なら別に気にしなくていいです。