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による日本語化を最も簡単に行う方法
ユーザにエラーが発生しました。=> 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 を使って手作業ではない以上、普通すぐには気がつかないですよ....
でも、良かった。解決できて。情報源のみなさん、本当にありがとう。