diff options
-rw-r--r-- | lib/rbot/language.rb | 1 | ||||
-rw-r--r-- | lib/rbot/load-gettext.rb | 25 |
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/rbot/language.rb b/lib/rbot/language.rb index d40fdecc..91ac2dd3 100644 --- a/lib/rbot/language.rb +++ b/lib/rbot/language.rb @@ -70,6 +70,7 @@ module Language if Lang2Locale.key?(lang_sym) setlocale(Lang2Locale[lang_sym]) debug "locale set to #{locale}" + rbot_gettext_debug else warn "Unable to set locale, unknown language #{language} (#{lang_str})" end diff --git a/lib/rbot/load-gettext.rb b/lib/rbot/load-gettext.rb index 9798fd60..e6c605d9 100644 --- a/lib/rbot/load-gettext.rb +++ b/lib/rbot/load-gettext.rb @@ -34,19 +34,26 @@ begin def bound_targets(*a) # :nodoc: orig_bound_targets(*a) rescue orig_bound_targets(Object) end - end - begin require 'stringio' - gettext_info = StringIO.new - current_textdomain_info(:out => gettext_info) # fails sometimes - debug 'using ruby-gettext' - rescue Exception - warn "ruby-gettext was loaded but appears to be non-functional. maybe an mo file doesn't exist for your locale." - ensure - gettext_info.string.each_line { |l| debug l} + + # This method is used to output debug information on the GetText + # textdomain, and it's called by the language setting routines + # in rbot + def rbot_gettext_debug + begin + gettext_info = StringIO.new + current_textdomain_info(:out => gettext_info) # fails sometimes + rescue Exception + warning "gettext failed to set call textdomain info. maybe an mo file doesn't exist for your locale." + ensure + gettext_info.string.each_line { |l| debug l} + end + end end + log "gettext loaded" + rescue LoadError, GetTextVersionError warn "failed to load ruby-gettext package: #{$!}; translations are disabled" |