# File lib/vendor/i18n/lib/i18n/backend/simple.rb, line 151
        def interpolate(locale, string, values = {})
          return string unless string.is_a?(String)

          string.gsub(MATCH) do
            escaped, pattern, key = $1, $2, $2.to_sym

            if escaped
              pattern
            elsif INTERPOLATION_RESERVED_KEYS.include?(pattern)
              raise ReservedInterpolationKey.new(pattern, string)
            elsif !values.include?(key)
              raise MissingInterpolationArgument.new(pattern, string)
            else
              values[key].to_s
            end
          end
        end