Ruby言語やLinuxのネタが多いです。
May 05, 2006 [おもひで]
■ [Rails] Ruby on Railsで日本語しか使わない場合でもRuby-GetText-Packageを使う理由
Ruby-GetText-Packageは元々メッセージの国際化のためのライブラリです。なので、とかく、
「アプリを国際化したい場合は使った方が良いよ。」
という話になります。これはこれで正しいのですが、Ruby On Railsに限って言うと、
「日本語でRoRを使う場合はとにかく使った方が便利だよ。」
なのです。ホント?
ViewやControllerでわざわざ英語を考えて_("eigo shiranaimon")なんて書いてらんねーよ、と思う方がいるかもしれません。
でも、国際化を考えない場合、_("eigo shiranaimon")なんてわざわざやらずに、素直に "英語しらないもん" と書いてしまえば良いわけです。
だとしたら、Ruby-GetText-Packageを使うメリット無いじゃん。と思うかもしれませんがそんなことはありません。
まず、Modelの各カラムを抽出したリソースファイル(メッセージカタログ, poファイルのこと)を自動で作成してくれます。このリソースファイルに日本語を記述するだけで、いろいろなところ(主に入力エラー時のカラム名等)が日本語化されます。テーブルが増えたりカラムが増減したりした場合もRakeのコマンド一発で差分を適切にリソースファイルにはき出してくれます。これを手作業でやったりしたらそれはもう大変な作業です。
さらに、入力エラー画面はRuby-GetText-Packageを使うだけ(追記:インストールしてinit_gettextを呼ぶだけ)で、全て日本語化されている状態になります。
また、Content-Typeも適切に指定してくれます。RJS等を一緒に使う場合、Content-Typeを指定する際にちょっとしたトリックが必要なのですが、Ruby-GetText-Packageを入れてしまえば意識する必要がありません。
ActionMailerについても、標準ではUTF-8のメールになってしまいますが、Ruby-GetText-Packageをインストールするだけ使うだけ(インストールしてinit_gettextを呼ぶだけ)でISO2022JPに変換されてメールされるようになります。
これらだけでも、日本語+Ruby On Railsの組み合わせではRuby-GetText-Packageを使ってみる価値はあるのではないでしょうか。ぜひ、一度、使ってみてくださいね。
