めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

実際にやってみよう(4)エラーの日本語化

タイトルがよくないような気がしてきたけれど、まあいいか。
エラーが英語なので、日本語にしたいと思いました。そこで、GetTextらしいです。

インストール

OS:Fedora Core 6 (VMware
Ruby on Rails:1.2.3

gem install gettext

Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i686-linux)
 1. gettext 1.10.0 (ruby)
 2. gettext 1.10.0 (mswin32)
 3. gettext 1.9.0 (mswin32)
 4. gettext 1.9.0 (ruby)
 5. Skip this gem
 6. Cancel installation
> 1

設定をする

vi config/environment.rb

以下を追記

require 'gettext/rails'
vi app/controllers/application.rb

以下を追記

init_gettext "bookmark" #bookmarkはアプリケーション名

webrickを起動

エラーでまくり

/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:477:in `const_missing': uninitialized constant CGI::Session::ActiveRecordStore (NameError)
        from /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/session_management.rb:22:in `const_get'
        from /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/session_management.rb:22:in `session_store='
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:328:in `send'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:328:in `initialize_framework_settings'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:327:in `each'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:327:in `initialize_framework_settings'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:324:in `each'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/initializer.rb:324:in `initialize_framework_settings'
         ... 15 levels...
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from script/server:3

調べること2時間ぐらい

調べたこと。

  • gettextのバージョン?
  • install ruby-gettext-package
  • yum remove ruby-gettext-package
  • エラーに出ているSession::ActiveRecordStoreってなんだ?

そこで、
config/environment.rb

# config.action_controller.session_store = :active_record_store

とコメントアウトしたら、動きました!無事にエラーも日本語化。
って、なんでだろう?

残っている課題