Redmine plugin: Uninitialized constant I18n

pluginsredmineruby

We just installed Redmine Charts (http://github.com/mszczytowski/redmine_charts/tree/master) and the associated OpenFlashChart plugin but when we start the Ruby server, we get the error below. Our steps were to:

  1. Download the tar file for charts
  2. Untar into $REDMINE_ROOT/plugins dir
  3. $REDMINE_ROOT/script/plugin install http://svn.pullmonkey.com/plugins/trunk/open_flash_chart/
  4. Try to start server

    => Booting WEBrick…
    /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:276:in load_missing_constant': uninitialized constant Redmine::I18n (NameError)
    from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:in
    const_missing'
    from /usr/local/apps/redmine-0.8/vendor/plugins/mszczytowski-redmine_charts-e3c5010466d7585d987bc1018e94daee90906a5d/lib/redmine_charts/line_data_converter.rb:4
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
    require'
    from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in require'
    from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in
    new_constants_in'
    from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in require'
    from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:102:in
    require_or_load'
    … 27 levels…
    from /usr/lib64/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/server.rb:39
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
    require'
    from script/server:3

Best Answer

Redmine's I18n is a recent addition for multiple languages. It's only available in the trunk version of Redmine, the 0.8.x versions of Redmine use the older GLoc plugin.

You have a couple of options to fix this:

  • Upgrade to the trunk version of Redmine
  • Ask the developer to make the plugin compatible with the released version of Redmine (I personally do this for my Redmine plugins)
  • Or try to fix the I18n errors yourself

To fix the errors, you will need to go through the code and replace all mentions of I18n with GLoc and then create an older version of the translations in the plugins lang/ directory.

Eric Davis

Related Topic