Module | GetText |
In: |
lib/rbot/load-gettext.rb
|
bound_targets | -> | orig_bound_targets |
Show the current textdomain information. This function is for debugging.
# File lib/rbot/load-gettext.rb, line 72 72: def current_textdomain_info(options = {}) 73: opts = {:with_messages => false, :with_paths => false, :out => STDOUT}.merge(options) 74: ret = nil 75: # this is for 2.1.0 76: TextDomainManager.each_textdomains(self) {|textdomain, lang| 77: opts[:out].puts "TextDomain name: #{textdomain.name.inspect}" 78: opts[:out].puts "TextDomain current locale: #{lang.to_s.inspect}" 79: opts[:out].puts "TextDomain current mo path: #{textdomain.instance_variable_get(:@locale_path).current_path(lang).inspect}" 80: if opts[:with_paths] 81: opts[:out].puts "TextDomain locale file paths:" 82: textdomain.locale_paths.each do |v| 83: opts[:out].puts " #{v}" 84: end 85: end 86: if opts[:with_messages] 87: opts[:out].puts "The messages in the mo file:" 88: textdomain.current_mo.each{|k, v| 89: opts[:out].puts " \"#{k}\": \"#{v}\"" 90: } 91: end 92: } 93: end
This method is used to output debug information on the GetText textdomain, and it‘s called by the language setting routines in rbot
# File lib/rbot/load-gettext.rb, line 99 99: def rbot_gettext_debug 100: begin 101: gettext_info = StringIO.new 102: current_textdomain_info(:out => gettext_info) # fails sometimes 103: rescue Exception 104: warning "failed to retrieve textdomain info. maybe an mo file doesn't exist for your locale." 105: debug $! 106: ensure 107: gettext_info.string.each_line { |l| debug l} 108: end 109: end