From 02c79244569748ebc41a8d6548314a802d8375d0 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sun, 26 Aug 2007 00:48:57 +0000 Subject: Output gettext textdomain information when setting the language, not when loading the module --- lib/rbot/language.rb | 1 + lib/rbot/load-gettext.rb | 25 ++++++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) (limited to 'lib') 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" -- cgit v1.2.3