def set_locale(locale, this_target_only = false)
ret = nil
if locale
if locale.kind_of? Locale::Object
ret = locale
else
ret = Locale::Object.new(locale.to_s)
end
ret.charset = TextDomainManager.output_charset if TextDomainManager.output_charset
Locale.set(ret)
else
Locale.set(nil)
ret = Locale.get
end
if this_target_only
manager = @@__textdomainmanagers[bound_target]
if manager
manager.set_locale(ret, ! cached?)
end
else
each_textdomain {|textdomain|
textdomain.set_locale(ret, ! cached?)
}
end
self
end