Ruby言語やLinuxのネタが多いです。
March 11, 2009 [おもひで]
■ [Rails] Ruby-GetText-Pacakge on Ruby on Rails-2.3.0 RC2
ようやくですが、Ruby-GetText-PackageをRails-2.3.0 RC2への対応が一段落しました。(Rails-2.2.xは捨てでいいよね・・。ダメ?)
基本的には今までの使用方法を踏襲しています。かつ、Rails I18n系のローカライゼーションのフレームワーク・他のバックエンドとも協調でき、Rails I18nや他のバックエンドでローカライズされたプラグインやI18n.tメソッド(+YAMLベースのリソースファイル)等も一緒に使うこともできます(となるのが当面の目標です)。
大きな違いとしては、Ruby-GetText-Packageは5つのライブラリに分割されたことですね。
汎用ライブラリである、locale, gettextと、Rails-2.3.x用のlocale_rails, gettext_activerecord, gettext_rails(activerecord以外)の3種類です。ちょっと面倒くさくなったかもしれませんが、使用者はこれらを好みにより使い分けることもできます。例えば、activerecordをRails以外の目的で使用する場合はlocale, gettext, gettext_activerecordのみをインストールすれば良く、locale_rails, gettext_railsは不要です。
まだ、テストが不完全(ってか無いのもあるし(苦笑))なのとローカライズドビューとActionMailerがまだ手つかずなので今すぐリリースってわけにはいかない(少なくともRuby-GetText-Package-1.93.0とほぼ互換にするつもり)ですが、もし、試してもよい、という方がいらっしゃいましたら、ぜひとも試していただいて不具合・御意見等をお聞かせ願えればと思います。
ということで今の段階での試し方です。githubの流儀に馴染めてないので独自の方法で説明します。
とりあえずgitをインストールして、以下のようにしてください。
$ sudo gem uninstall gettext (古いgettextが入ってると誤動作する可能性があります。) $ git clone git://github.com/mutoh/locale.git $ git clone git://github.com/mutoh/locale_rails.git $ git clone git://github.com/mutoh/gettext.git $ git clone git://github.com/mutoh/gettext_activerecord.git $ git clone git://github.com/mutoh/gettext_rails.git $ cd locale $ rake package $ sudo gem install pkg/locale-x.x.x.gem (x.x.xはpkg/配下に存在するバージョンを指定してください) $ cd ../locale_rails $ rake package $ sudo gem install pkg/locale_rails-x.x.x.gem $ cd ../gettext $ rake makemo $ rake package $ sudo gem install pkg/gettext-x.x.x.gem $ cd ../gettext_activerecord $ rake makemo $ rake package $ sudo gem install pkg/gettext_activerecord-x.x.x.gem $ cd ../gettext_rails $ rake makemo $ rake package $ sudo gem install pkg/gettext_rails-x.x.x.gem (サンプルを試す場合) $ cd sample $ rake db:create $ rake db:schema:load $ ruby script/server
なお、Ruby-GetText-Package-1.93.0からの変更点ですが(リリースする時にはきちんとドキュメント化しないとだな・・・)、
- Rakeファイルがrequire 'gettext/utils'から'gettext_rails/tools'に変わった&GetText.update_pofiles, GetText.create_mofilesの引数が若干変わった。
ただし'gettext/utils'も後方互換性のため残してあります。 - config/environment.rbは呼び出すgemが変わっています。以下のように書いてください。
: : config.gem "locale_rails" config.gem "gettext_activerecord" config.gem "gettext_rails" endざっと駆け足で説明してみました。不明点があれば聞いてください。ぜひともお試しを~。
