module I18n

def interpolate(string, values)

Missing argument's logic is handled by I18n.config.missing_interpolation_argument_handler.
Return String or raises MissingInterpolationArgument exception.
def interpolate(string, values)
  raise ReservedInterpolationKey.new($1.to_sym, string) if string =~ I18n.reserved_keys_pattern
  raise ArgumentError.new('Interpolation values must be a Hash.') unless values.kind_of?(Hash)
  interpolate_hash(string, values)
end