なんとか日本語化に成功。今回は調査から動作確認まで3hの工数を消費。
何が難しいといえば、railsのバージョンによって推奨される方法が異なる事で、どの情報をもってローカライズすればよいのか非常に迷った事、必要とする情報だけをフィルタリング出来なかった事が反映。あれもこれも、では駄目。
今回調査したrailsのローカライズの推移は
1.エラーを扱うクラスをオーバーライドしたり、ActiveHeartでゴリゴリ書く「力技」
2.ruby-gettextを使う。
3.i18nを使う。
私が一番最初に「これはいける」と思ったのは1.のゴリゴリ型。最初はいいと思ったが、工数がかかって仕方がない。また日本語が、各modelに散ってしまうのもメンテナンス性が悪い。
結果、2はやらず、3のi18nに到達。参考にした資料は
http://www.st.rim.or.jp/~sakisan/rails3_ja.html(Rails3 エラーメッセージ日本語化のメモ)
上記リンク先にも書いてあるとおり。ステップは以下の通り
イ.ja.ymlをネット上からダウンロードし、config/localesに配置
ロ.config/locales/ja.yml に以下の行を追加(サンプルは私の環境に最適化。
activerecord:
attributes:
muser:#エンティティ名
USER_ID: "ユーザID"#カラム名
DISP_NAME: "表示名"#カラム名
helpers:
label:
muser:
USER_ID: "ユーザID"
DISP_NAME: "表示名"#カラム名
ハ.config/application.rbのどこかに以下を追記
config.i18n.default_locale = :ja
二.webサーバ再起動
これで終了。簡単。但し、i18nを最初から使うという結論に最初から辿りつけていればの話。でも目標が達成できてよかった。
0 件のコメント:
コメントを投稿