# File lib/fast_gettext/vendor/string.rb, line 36
    def %(args)
      if args.kind_of? Hash
        #stringify keys
        replace = {}
        args.each{|k,v|replace[k.to_s]=v}

        #replace occurances
        ret = dup
        ret.gsub!(PERCENT_MATCH_RE) do |match|
          if match == '%%'
            '%'
          elsif $1
            replace.has_key?($1) ? replace[$1] : match
          elsif $2
            replace.has_key?($2) ? sprintf("%#{$3}", replace[$2]) : match
          end
        end
        ret
      else
        ret = gsub(/%([{<])/, '%%\1')
        ret._fast_gettext_old_format_m(args)
      end
    end