Ticket #51 (closed defect: fixed)

Opened 2 months ago

Last modified 2 months ago

gettext support is broken

Reported by: duck Owned by: oblomov
Priority: normal Milestone:
Component: misc Version: 0.9.15
Severity: normal Keywords: i18n
Cc:

Description

I got the following message:

W, [2010/06/28 20:26:32#24648]  WARN -- load-gettext.rb:71:in `rbot_gettext_debug': gettext failed to set call textdomain info. maybe an mo file doesn't exist for your locale.

I checked rbot_locale_path:

/usr/share/rbot/../locale/%{locale}/LC_MESSAGES/%{name}.mo

which is the right directory.

With Ruby GetText? 1.91.0, i got this trace:

load-gettext.rb:69:in `rbot_gettext_debug': undefined method `filename' for nil:NilClass
/usr/lib/ruby/1.8/gettext.rb:527:in `current_textdomain_info'
/usr/lib/ruby/1.8/gettext.rb:165:in `each_textdomain'
/usr/lib/ruby/1.8/gettext/textdomainmanager.rb:82:in `each'
/usr/lib/ruby/1.8/gettext/textdomainmanager.rb:81:in `each'
/usr/lib/ruby/1.8/gettext.rb:164:in `each_textdomain'
/usr/lib/ruby/1.8/gettext.rb:160:in `each'
/usr/lib/ruby/1.8/gettext.rb:160:in `each_textdomain'
/usr/lib/ruby/1.8/gettext.rb:524:in `current_textdomain_info'
/usr/lib/ruby/1.8/rbot/load-gettext.rb:67:in `rbot_gettext_debug'
/usr/lib/ruby/1.8/rbot/language.rb:83:in `set_language'
/usr/lib/ruby/1.8/rbot/language.rb:73:in `initialize'
/usr/lib/ruby/1.8/rbot/ircbot.rb:582:in `new'
/usr/lib/ruby/1.8/rbot/ircbot.rb:582:in `initialize'
/usr/bin/rbot:123:in `new'/usr/bin/rbot:123

and with 2.1.0:

load-gettext.rb:69:in `rbot_gettext_debug': undefined method `current_textdomain_info' for #<Irc::Bot::Language:0xb6c272f0>
/usr/lib/ruby/1.8/rbot/ircbot.rb:244:in `inspect'
/usr/lib/ruby/1.8/rbot/load-gettext.rb:69:in `to_str'
/usr/lib/ruby/1.8/rbot/load-gettext.rb:69:in `to_s'
/usr/lib/ruby/1.8/rbot/load-gettext.rb:69:in `rbot_gettext_debug'
/usr/lib/ruby/1.8/rbot/language.rb:83:in `set_language'
/usr/lib/ruby/1.8/rbot/language.rb:73:in `initialize'
/usr/lib/ruby/1.8/rbot/ircbot.rb:582:in `new'
/usr/lib/ruby/1.8/rbot/ircbot.rb:582:in `initialize'
/usr/bin/rbot:123:in `new'
/usr/bin/rbot:123

rbot is supposed to work with version >=1.8, so it is a regression made between the 0.9.15 release cycle (0.9.14 was working with 1.91.0 but not the recent 2.1.0). I think targeting the 2.x versions is now a must (even if you now raise the minimum version).

Regards

Change History

Changed 2 months ago by oblomov

  • status changed from new to closed
  • resolution set to fixed

rbot still works with 1.91.0 (I have such a configuration running). The problem actually lies elsewhere. You can check it by setting the language to something different (e.g. !config set core.language italian). The issue actually comes from the fact that the english messages are stored for the en_US locale, but are looked for in the en locale. Since the messages in the bot are actually mostly in British english due to its origin, I will fix this by moving the po/en_US to po/en.

Changed 2 months ago by duck

Ok, it works again with 1.91.0, thanks.

Note: See TracTickets for help on using tickets.