9/20/2007

railsでgettext+gettext_scaffoldを使って早く日本語対応WebDBを作る方法 - その2

gettext_scaffoldは日本語のラベル表記を管理するのに便利だが,どうもうまく動作しなかった。:action => :list で指定されているリンクで表示にエラーがでまくる。関連資料を探すとこちらにgettext_scaffoldの怪しいところを修正したパッチがあったので適用してみた。


cd vender/plugin/gettext_scaffold
patch -p 0 < gettext_scaffold_39.patch


オプション-p 0を付けないとパッチが適用されなかったが。それでも適用は未完であった。SVNのheadと修正分の差分とのことだったが,SVNのheadといっているソースが違うのか?

とにかく、無理矢理パッチしてgenerator/gettext_scaffold/template以下のファイルを少し修正しなければならない。このフォルダにあるrhtmlファイルでrender 'show'となっているところを render 'form'と書き換える。どうやらパーシャルの指定が不十分のようだ。とりあえず、デフォルトで使われている_form.rhtmlを使えばエラーは出ない。ここまでの作業を ./script/plugin install svn://.../gettext_scaffoldの後に行って,次の作業をおこなう。


  • rake gettext:setup
  • ./script/generate model テーブル名
  • migrateファイルを編集してテーブル定義
  • rake db:migerate
  • ./script/generate gettext_scaffold テーブル名
  • rake gettext:update_po
  • poファイルを編集
  • rake gettext:make_mo


テーブルが既に定義されている場合は generate gettext_scaffoldから行ってもよい。ふー