def set_language(language)
lang_str = language.to_s.downcase.gsub(/\s+/,'_')
lang_sym = lang_str.intern
if defined?(GetText) and Lang2Locale.key?(lang_sym)
setlocale(Lang2Locale[lang_sym])
debug "locale set to #{locale}"
rbot_gettext_debug
else
warning "Unable to set locale, unknown language #{language} (#{lang_str})"
end
file = Config::datadir + "/languages/#{lang_str}.lang"
unless(FileTest.exist?(file))
raise "no such language: #{lang_str} (no such file #{file})"
end
@language = lang_str
@file = file
scan
return if @bot.plugins.nil?
@bot.plugins.core_modules.each { |p|
if p.respond_to?('set_language')
p.set_language(@language)
end
}
@bot.plugins.plugins.each { |p|
if p.respond_to?('set_language')
p.set_language(@language)
end
}
end