i18n_generators にハマった件

rails が 2.2 で国際化に対応した、ということでしたので、試してみました。しかし、下記ページ掲載の README.rdoc の通りにやってみるのですが....

amatsuda's i18n_generators at master ― GitHub

#./script/generate i18n ja
      exists  config/locales
      update  config/environment.rb
      create  config/locales/ja.yml
undefined method `count' for #<Array:0x7f1d13459d18>

で、どうしてもコケてしまいます。そこで、バージョンの方を 0.3.1 => 0.3.0 => 0.2.0 と順に下げてみたのですが、下記ページの表示例のように翻訳されずに、

Rails 2.2の I18nによる日本語化を最も簡単に行う方法
http://blog.dio.jp/assets/2008/11/22/i18n_ready_error_message.png

ユーザにエラーが発生しました。=> translation missing: ja, activerecord, errors, template, header
次の項目を確認してください。=> translation missing: ja, activerecord, errors, template, body

となってしまいます。

django に比べると面倒だなぁ〜と思いつつ、今回は rails を使用する案件なので、放り投げてしまう訳にも行きません。

# ./script/generate i18n ja -t

によると、i18n_locale_command.rb でコケている様子。早速、「教えて Google 先生」。すると、

i18n は Ruby 1.8.7 + Rails 2.2.2 で

このようなご指南をご教授いただきました。しかし、「hope you're all using Ruby >= 1.8.7...」って....
別に 1.8.7 でもイイんですけど、ちゃんと分かるところに書いておいて欲かった。

さて、気をとり直して dev-lang/ruby-1.8.7_p72-r1 を unmask。そして、emrege。

# ./script/generate i18n ja
      exists  config/locales
   identical  config/locales/ja.yml
       debug  took 0.535361 secs to translate 1 models.
       debug  took 0.660584 secs to translate 9 words.
      create  config/locales/translation_ja.yml

よしよし。これでウマく行くと思いきや....

ユーザにエラーが発生しました。=> translation missing: ja, activerecord, errors, template, header
次の項目を確認してください。=> translation missing: ja, activerecord, errors, template, body

また〜! ええい、連邦のモビルスーツは化け物か! またも、「教えて Google 先生」。すると、

http://d.hatena.ne.jp/muamqm/20081209

activerecord:
errors:

が重複してたらそりゃー上手くいくわけないじゃん!!

ごもっとも....

こんなことに気付かないでほぼ一日悩んでたなんて自分はバカじゃん!?

いや。バカじゃないと思います。generator を使って手作業ではない以上、普通すぐには気がつかないですよ....
でも、良かった。解決できて。情報源のみなさん、本当にありがとう。