よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

November 08, 2007 [おもひで]

[Ruby] JRuby on Rails with Ruby-GetText-Package

ようやく動きました。試してみたい方は、RubyForgeのCVS版をローカルに落としてきて、rake packageとするとpkg配下にgemができるので、これをjrubyのgemでインストールしてください。後は、1.10.0の頃のやり方と何も変えずに動かすことができるはず。誰かテスト&バグレポートしてくださるとありがたいです。

時間がかかったのは(まー、Rubyに使う時間が少なくなってきてるってこともありますが)、Ruby-GetText-Package自体を大きく変更したためです。

まず、Locale関連をgettext/配下からlocale/配下に移しました。ほんとは別ライブラリ化までやりたかったんですが、locale.rubyforge.orgがすでに取得されていたため諦めました。下手に変な名前に変更したくないですしね。

この変更で、機能的には、Localeはgettextの一機能というよりも汎用的にロケールの基本情報を扱うライブラリになったと思います。(実は、当初(何年前だ?(^^;))からこのようにしたかったため、LocaleはGetText::Localeではなく、Localeと定義してあったりしたのでした。

で、その際に、extモジュール(Cのラッパ)を使わないようにしたのですが、実はこれが非常に大きな変更点の1つになります。win32環境ではdlモジュールを使ってシステムのライブラリを呼び出したり、jruby環境ではJavaのライブラリを呼び出したりしてシステム上のロケール情報を取得するようにしたことで、Cコンパイラを使う必要がなくなりました。(*nixな場合は環境変数LANG or LC_ALL等がきちんと定義される前提になります・・・この割り切りが今までできなかったんです・・・)。

結果、今までのようにアーキテクチャ毎にパッケージを選択する必要もありませんし、インストール環境にCコンパイラも不要です。他にもextモジュールがあることによる様々な問題がなくなるため、今まで以上に簡単にRuby-GetText-Packageを使うことができるはずです。

そんなこんなで次にリリースするのは2.0(あるいはプレビュー版かな)になります。申し訳ないですが一部コアな機能は非互換になると思われます(Railsでの一般的な使い方レベルであれば問題ないはずですが)。

ともかく、時間が無いのでいつになるかはわかりませんが、ご期待くださいまし。


編集