class ActionView::Helpers::FormBuilder

def submit(value = nil, options = {})


create: "Add %{model}"
post:
submit:
helpers:
en:

It also searches for a key specific to the given object:

update: "Confirm changes to %{model}"
create: "Create a %{model}"
submit:
helpers:
en:

%{model} for translation interpolation:
Those labels can be customized using I18n under the +helpers.submit+ key and using

submit button label; otherwise, it uses "Update Post".
In the example above, if @post is a new record, it will use "Create Post" as

<% end %>
<%= f.submit %>
<%= form_for @post do |f| %>

if the object is a new resource or not to create the proper label:
Add the submit button for the given form. When no value is given, it checks
def submit(value = nil, options = {})
  value, options = nil, value if value.is_a?(Hash)
  value ||= submit_default_value
  @template.submit_tag(value, options)
end