def bindtextdomain(domainname, options = {}, locale_ = nil, charset = nil)
opt = {}
if options.kind_of? String
opt = {:path => options, :locale => locale_, :charset => charset}
elsif options
opt = options
end
opt[:locale] = opt[:locale] ? Locale::Object.new(opt[:locale]) : Locale.get
opt[:charset] = output_charset if output_charset
locale.charset = opt[:charset] if opt[:charset]
Locale.set_current(opt[:locale])
manager = @@__textdomainmanagers[bound_target]
if manager
manager.set_locale(opt[:locale])
else
manager = TextDomainManager.new(bound_target, opt[:locale])
@@__textdomainmanagers[bound_target] = manager
end
manager.add_textdomain(domainname, opt)
manager
end