むとうです。

On Mon, 1 May 2006 00:56:37 +0900
Masayoshi Takahashi <maki / rubycolor.org> wrote:

> 高橋征義です。
> 
> 日本語化されたTypo(Railsのblogツール)が必要になったので、Ruby-GetTextを
> 使ってI18N化しています(まだ途中)。メンテナのむとうさんに感謝。

こちらこそ、使って頂いてありがとうございます。
 
> ところで、これをこのまま動かそうとすると、
> 
> uninitialized constant Info
> 
> というエラーが出ます。これは何が問題なんでしょうか。
> stack traceは↓こんな感じです。Rails::Infoの探索に失敗してるっぽい。

> なお、gettext/rails.rbの最後の3行、
> 
> Rails::Info.property("GetText version") do
>   GetText::VERSION
> end
> 
> をコメントアウトすればとりあえず動くようにはなります。

I18N化したソースを見させて頂きましたが、TypoはRails::Infoの
あるファイルを読まないようですね。
#config/boot.rbが無いなど若干構成もオリジナルと違うようです。

情報として不要だったらTypoのようにRails::Infoを読まないこともあるでしょう、
ということで、Rails::Infoが無い場合はRails::Infoを使用しないように
gettext/railsを修正しました。
#Ruby-GetTextのCVSには適用しました。
 
> 
> その他、Ruby-GetTextを使っていて気づいた点:
> 
> ・Windowsでgettextを入れていないと、rake updatepoが使えない
>   (msgfmtがないため?)

はい。msgfmtが必要となりますので、開発者はGNU GetTextをインストールしてください。
私の場合はhttp://sourceforge.net/projects/gladewin32のものを
使っています。ちょっと大きいですが、これをインストールするとRuby/GTK2
も使えるようになるという副作用があります;)。
#繰り返しになりますが、GNU GetTextは開発時のみ必要です。
#アプリ配布時には不要になります。

> ・*.moを更新してもサーバを再起動しないと反映されないのが
>  開発時はちょっとめんどくさい。

これは私も不便に思っていたので、4/30の段階で、developmentモード(rails以外の
アプリではruby -dオプション付きで、moファイルの更新日時をチェックして
変更があった場合はそれを反映するようにしたものをCVSにアップしてあります。
なので、次バージョンでは解消する予定です。

> ・それ以外はすごく便利。メッセージの統一性を図る目的なら、
>  I18Nを意識してない場合でも使った方がいいこともありそう。

ありがとうございます。
Modelからカラム名、テーブル名を自動抽出してpoファイルに反映したり
できますので、日本語しか使わない場合でも(この機能を使うだけでも)
便利だと思います。

それから、Rakefileのupdatepoタスクですが、{lib,bin}を{app,lib,bin}
等と、実際にローカライズのターゲットとなるファイルが全部含まれるように
してください。たぶん、今のままですとappディレクトリ配下がターゲットになって
いないと思われます。
#これ、私の書いた日本語ドキュメントが悪いんですよね。直しておきます。

また、ActionMailerを日本語ロケールで使用する場合は
勝手にISO2022JPに変換したり(無い場合はUTF-8になってしまう)、
charsetの指定をRuby-GetTextに任せることで、RJSとcharset指定の
問題が解決したり、ActionWebServiceでも使えたりと、他方面でも有効かと
思いますので、日本語でRailsを使おうと考えてらっしゃる方はぜひ一度、
検討してみてください。

また、何か不都合な点等がございましたらご一報くださいませ。

それでは。

-- 
.:% Masao Mutoh<mutoh / highway.ne.jp>