    # File lib/gettext.rb, line 470
      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