formstrap 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -1
  3. data/app/assets/javascripts/formstrap/controllers/file_preview_controller.js +5 -5
  4. data/app/assets/javascripts/formstrap/controllers/media_controller.js +4 -2
  5. data/app/assets/javascripts/formstrap/controllers/media_modal_controller.js +38 -2
  6. data/app/assets/javascripts/formstrap/controllers/popup_controller.js +75 -0
  7. data/app/assets/javascripts/formstrap/controllers/repeater_controller.js +4 -4
  8. data/app/assets/javascripts/formstrap/index.js +2 -0
  9. data/app/assets/javascripts/formstrap.js +1790 -129
  10. data/app/assets/stylesheets/formstrap/{forms/autocomplete.scss → autocomplete.scss} +1 -1
  11. data/app/assets/stylesheets/formstrap/{forms/file.scss → file.scss} +10 -10
  12. data/app/assets/stylesheets/formstrap/general.scss +8 -1
  13. data/app/assets/stylesheets/formstrap/media/_modal.scss +9 -0
  14. data/app/assets/stylesheets/formstrap/{forms/media.scss → media/_validation.scss} +2 -2
  15. data/app/assets/stylesheets/formstrap/media.scss +2 -1
  16. data/app/assets/stylesheets/formstrap/{forms/repeater.scss → repeater.scss} +8 -8
  17. data/app/assets/stylesheets/formstrap/shared/popup.scss +17 -0
  18. data/app/assets/stylesheets/formstrap/shared/thumbnail.scss +23 -0
  19. data/app/assets/stylesheets/formstrap/shared.scss +2 -0
  20. data/app/assets/stylesheets/formstrap/utilities/dropzone.scss +2 -2
  21. data/app/assets/stylesheets/formstrap/utilities.scss +0 -1
  22. data/app/assets/stylesheets/formstrap.css +155 -143
  23. data/app/assets/stylesheets/formstrap.scss +5 -1
  24. data/app/controllers/formstrap/media_controller.rb +41 -23
  25. data/app/helpers/application_helper.rb +20 -0
  26. data/app/models/concerns/formstrap/attachment.rb +16 -0
  27. data/app/models/concerns/formstrap/blob.rb +56 -0
  28. data/app/models/formstrap/file_view.rb +3 -3
  29. data/app/models/formstrap/media_view.rb +12 -1
  30. data/app/models/formstrap/thumbnail_view.rb +108 -0
  31. data/app/views/formstrap/_autocomplete.html.erb +1 -1
  32. data/app/views/formstrap/_file.html.erb +8 -8
  33. data/app/views/formstrap/_media.html.erb +6 -4
  34. data/app/views/formstrap/_repeater.html.erb +3 -3
  35. data/app/views/formstrap/media/_item.html.erb +10 -7
  36. data/app/views/formstrap/media/_modal.html.erb +35 -8
  37. data/app/views/formstrap/media/_thumbnail.html.erb +12 -8
  38. data/app/views/formstrap/media/_validation.html.erb +1 -1
  39. data/app/views/formstrap/media/create.turbo_stream.erb +3 -1
  40. data/app/views/formstrap/media/index.html.erb +1 -1
  41. data/app/views/formstrap/repeater/_row.html.erb +4 -4
  42. data/app/views/formstrap/shared/_popup.html.erb +1 -1
  43. data/app/views/formstrap/shared/_thumbnail.html.erb +5 -3
  44. data/config/locales/formstrap/forms/en.yml +0 -14
  45. data/config/locales/formstrap/forms/nl.yml +1 -15
  46. data/config/locales/formstrap/media/en.yml +2 -10
  47. data/config/locales/formstrap/media/nl.yml +2 -10
  48. data/config/routes.rb +0 -2
  49. data/lib/formstrap/version.rb +1 -1
  50. metadata +17 -30
  51. data/app/assets/stylesheets/formstrap/forms.scss +0 -12
  52. data/app/assets/stylesheets/formstrap/media/index.scss +0 -9
  53. data/app/assets/stylesheets/formstrap/utilities/buttons.scss +0 -27
  54. data/app/models/formstrap/blocks_view.rb +0 -43
  55. data/app/views/formstrap/_blocks.html.erb +0 -45
  56. data/app/views/formstrap/_to_ary.html.erb +0 -0
  57. data/app/views/formstrap/blocks/_modal.html.erb +0 -20
  58. data/app/views/formstrap/fields/_base.html.erb +0 -25
  59. data/app/views/formstrap/fields/_file.html.erb +0 -17
  60. data/app/views/formstrap/fields/_files.html.erb +0 -17
  61. data/app/views/formstrap/fields/_group.html.erb +0 -52
  62. data/app/views/formstrap/fields/_list.html.erb +0 -31
  63. data/app/views/formstrap/fields/_text.html.erb +0 -17
  64. data/app/views/formstrap/media/_media_item_modal.html.erb +0 -77
  65. data/app/views/formstrap/media/show.html.erb +0 -9
  66. data/app/views/formstrap/media/update.turbo_stream.erb +0 -3
  67. data/config/locales/activerecord/en.yml +0 -12
  68. data/config/locales/activerecord/nl.yml +0 -13
  69. data/config/locales/defaults/en.yml +0 -215
  70. data/config/locales/defaults/nl.yml +0 -213
  71. data/config/locales/devise/en.yml +0 -65
  72. data/config/locales/devise/nl.yml +0 -85
  73. /data/app/assets/stylesheets/formstrap/{forms/search.scss → search.scss} +0 -0
@@ -1,77 +0,0 @@
1
- <%= turbo_frame_tag "modal_content" do %>
2
- <%= formstrap_form_with url: formstrap_media_item_path(id: @blob.id), model: @blob do |form| %>
3
- <div class="modal-header">
4
- <h5 class="modal-title"><%= t(".edit") %></h5>
5
- <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="<%= t(".close") %>"></button>
6
- </div>
7
- <div class="modal-body">
8
- <%= render "formstrap/shared/notifications" %>
9
- <div class="row">
10
- <div class="col-4">
11
- <%= render "formstrap/shared/thumbnail", file: @blob %>
12
- </div>
13
- <div class="col-8 d-flex flex-column justify-content-center">
14
- <p class="small text-secondary m-0">
15
- <strong><%= t(".uploaded_at") %>:</strong>
16
- <%= l(@blob.created_at, format: :long) %>
17
- </p>
18
- <p class="small text-secondary m-0">
19
- <strong><%= t(".type") %>:</strong>
20
- <%= @blob.content_type %>
21
- </p>
22
- <p class="small text-secondary m-0">
23
- <strong><%= t(".dimensions") %>:</strong>
24
- <% if @blob.metadata[:width] && @blob.metadata[:height] %>
25
- <%= "#{@blob.metadata[:width]}px x #{@blob.metadata[:height]}px" %>
26
- <% else %>
27
- <%= t(".not_analysed") %>
28
- <% end %>
29
- </p>
30
- <p class="small text-secondary m-0">
31
- <strong><%= t(".size") %>:</strong>
32
- <% if @blob.byte_size > 0 %>
33
- <%= number_to_human_size(@blob.byte_size) %>
34
- <% else %>
35
- <%= t(".not_analysed") %>
36
- <% end %>
37
- </p>
38
- </div>
39
- </div>
40
- <div class="row mt-3">
41
- <div class="col-12">
42
- <%= form.text :filename, append: "." + form.object.filename.to_s.rpartition(".").last, value: form.object.filename.to_s.rpartition(".").first %>
43
- </div>
44
- </div>
45
- <% attachments = @blob.attachments.not_a_variant.all %>
46
- <% if attachments.any? %>
47
- <hr>
48
- <h6><%= t(".attachment_used_by") %>:</h6>
49
- <table class="table table-sm">
50
- <tbody>
51
- <% attachments.each do |attachment| %>
52
- <% context_resource = attachment.record_hierarchy.last %>
53
- <% context_resource_path = polymorphic_path([:admin, context_resource]) rescue nil %>
54
- <tr>
55
- <td width="40%">
56
- <% if context_resource_path.present? %>
57
- <%= link_to truncate(context_resource.to_s), context_resource_path, title: context_resource %>
58
- <% else %>
59
- <%= context_resource %>
60
- <% end %>
61
- </td>
62
- <td width="25%"><%= "#{context_resource.model_name.human(count: 1)} (#{attachment.class.human_attribute_name(attachment.name.to_sym)})" %></td>
63
- <td width="35%">
64
- <small class="text-secondary"><%= l(attachment.created_at, format: :long) %></small>
65
- </td>
66
- </tr>
67
- <% end %>
68
- </tbody>
69
- </table>
70
- <% end %>
71
- </div>
72
- <div class="modal-footer">
73
- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><%= t(".close") %></button>
74
- <%= form.submit t(".update"), class: "btn btn-primary" %>
75
- </div>
76
- <% end %>
77
- <% end %>
@@ -1,9 +0,0 @@
1
- <%= turbo_frame_tag "remote_modal" do %>
2
- <div class="media-item-modal modal fade" tabindex="-1" data-controller="remote-modal">
3
- <div class="modal-dialog modal-md modal-dialog-scrollable">
4
- <div class="modal-content">
5
- <%= render "formstrap/media/media_item_modal" %>
6
- </div>
7
- </div>
8
- </div>
9
- <% end %>
@@ -1,3 +0,0 @@
1
- <%= turbo_stream.update "modal_content" do %>
2
- <%= render "formstrap/media/media_item_modal" %>
3
- <% end %>
@@ -1,12 +0,0 @@
1
- en:
2
- attributes:
3
- created_at: Created at
4
- email: Email
5
- filename: Filename
6
- handle: Handle
7
- password: Password
8
- password_confirmation: Password confirmation
9
- remember_me: Stay logged in
10
- updated_at: Updated at
11
- value: Value
12
- visible: Visible?
@@ -1,13 +0,0 @@
1
- nl:
2
- attributes:
3
- created_at: Aangemaakt
4
- email: E-mailadres
5
- filename: Bestandsnaam
6
- handle: Naam
7
- password: Wachtwoord
8
- password_confirmation: Wachtwoord bevestiging
9
- remember_me: Aangemeld blijven
10
- updated_at: Aangepast
11
- value: Waarde
12
- visible: Zichtbaar?
13
-
@@ -1,215 +0,0 @@
1
- ---
2
- en:
3
- activerecord:
4
- errors:
5
- messages:
6
- record_invalid: 'Validation failed: %{errors}'
7
- restrict_dependent_destroy:
8
- has_one: Cannot delete record because a dependent %{record} exists
9
- has_many: Cannot delete record because dependent %{record} exist
10
- date:
11
- abbr_day_names:
12
- - Sun
13
- - Mon
14
- - Tue
15
- - Wed
16
- - Thu
17
- - Fri
18
- - Sat
19
- abbr_month_names:
20
- -
21
- - Jan
22
- - Feb
23
- - Mar
24
- - Apr
25
- - May
26
- - Jun
27
- - Jul
28
- - Aug
29
- - Sep
30
- - Oct
31
- - Nov
32
- - Dec
33
- day_names:
34
- - Sunday
35
- - Monday
36
- - Tuesday
37
- - Wednesday
38
- - Thursday
39
- - Friday
40
- - Saturday
41
- formats:
42
- default: "%Y-%m-%d"
43
- long: "%B %d, %Y"
44
- short: "%b %d"
45
- month_names:
46
- -
47
- - January
48
- - February
49
- - March
50
- - April
51
- - May
52
- - June
53
- - July
54
- - August
55
- - September
56
- - October
57
- - November
58
- - December
59
- order:
60
- - :year
61
- - :month
62
- - :day
63
- datetime:
64
- distance_in_words:
65
- about_x_hours:
66
- one: about 1 hour
67
- other: about %{count} hours
68
- about_x_months:
69
- one: about 1 month
70
- other: about %{count} months
71
- about_x_years:
72
- one: about 1 year
73
- other: about %{count} years
74
- almost_x_years:
75
- one: almost 1 year
76
- other: almost %{count} years
77
- half_a_minute: half a minute
78
- less_than_x_seconds:
79
- one: less than 1 second
80
- other: less than %{count} seconds
81
- less_than_x_minutes:
82
- one: less than a minute
83
- other: less than %{count} minutes
84
- over_x_years:
85
- one: over 1 year
86
- other: over %{count} years
87
- x_seconds:
88
- one: 1 second
89
- other: "%{count} seconds"
90
- x_minutes:
91
- one: 1 minute
92
- other: "%{count} minutes"
93
- x_days:
94
- one: 1 day
95
- other: "%{count} days"
96
- x_months:
97
- one: 1 month
98
- other: "%{count} months"
99
- x_years:
100
- one: 1 year
101
- other: "%{count} years"
102
- prompts:
103
- second: Second
104
- minute: Minute
105
- hour: Hour
106
- day: Day
107
- month: Month
108
- year: Year
109
- errors:
110
- format: "%{attribute} %{message}"
111
- messages:
112
- accepted: must be accepted
113
- blank: can't be blank
114
- confirmation: doesn't match %{attribute}
115
- empty: can't be empty
116
- equal_to: must be equal to %{count}
117
- even: must be even
118
- exclusion: is reserved
119
- greater_than: must be greater than %{count}
120
- greater_than_or_equal_to: must be greater than or equal to %{count}
121
- inclusion: is not included in the list
122
- invalid: is invalid
123
- less_than: must be less than %{count}
124
- less_than_or_equal_to: must be less than or equal to %{count}
125
- model_invalid: 'Validation failed: %{errors}'
126
- not_a_number: is not a number
127
- not_an_integer: must be an integer
128
- odd: must be odd
129
- other_than: must be other than %{count}
130
- present: must be blank
131
- required: must exist
132
- taken: has already been taken
133
- too_long:
134
- one: is too long (maximum is 1 character)
135
- other: is too long (maximum is %{count} characters)
136
- too_short:
137
- one: is too short (minimum is 1 character)
138
- other: is too short (minimum is %{count} characters)
139
- wrong_length:
140
- one: is the wrong length (should be 1 character)
141
- other: is the wrong length (should be %{count} characters)
142
- template:
143
- body: 'There were problems with the following fields:'
144
- header:
145
- one: 1 error prohibited this %{model} from being saved
146
- other: "%{count} errors prohibited this %{model} from being saved"
147
- helpers:
148
- select:
149
- prompt: Please select
150
- submit:
151
- create: Create %{model}
152
- submit: Save %{model}
153
- update: Update %{model}
154
- number:
155
- currency:
156
- format:
157
- delimiter: ","
158
- format: "%u%n"
159
- precision: 2
160
- separator: "."
161
- significant: false
162
- strip_insignificant_zeros: false
163
- unit: "$"
164
- format:
165
- delimiter: ","
166
- precision: 3
167
- separator: "."
168
- significant: false
169
- strip_insignificant_zeros: false
170
- human:
171
- decimal_units:
172
- format: "%n %u"
173
- units:
174
- billion: Billion
175
- million: Million
176
- quadrillion: Quadrillion
177
- thousand: Thousand
178
- trillion: Trillion
179
- unit: ''
180
- format:
181
- delimiter: ''
182
- precision: 3
183
- significant: true
184
- strip_insignificant_zeros: true
185
- storage_units:
186
- format: "%n %u"
187
- units:
188
- byte:
189
- one: Byte
190
- other: Bytes
191
- eb: EB
192
- gb: GB
193
- kb: KB
194
- mb: MB
195
- pb: PB
196
- tb: TB
197
- percentage:
198
- format:
199
- delimiter: ''
200
- format: "%n%"
201
- precision:
202
- format:
203
- delimiter: ''
204
- support:
205
- array:
206
- last_word_connector: ", and "
207
- two_words_connector: " and "
208
- words_connector: ", "
209
- time:
210
- am: am
211
- formats:
212
- default: "%a, %d %b %Y %H:%M:%S %z"
213
- long: "%B %d, %Y %H:%M"
214
- short: "%d %b %H:%M"
215
- pm: pm
@@ -1,213 +0,0 @@
1
- ---
2
- nl:
3
- activerecord:
4
- errors:
5
- messages:
6
- record_invalid: 'Validatie mislukt: %{errors}'
7
- restrict_dependent_destroy:
8
- has_one: Kan item niet verwijderen omdat %{record} afhankelijk is
9
- has_many: Kan item niet verwijderen omdat afhankelijke %{record} bestaan
10
- date:
11
- abbr_day_names:
12
- - zo
13
- - ma
14
- - di
15
- - wo
16
- - do
17
- - vr
18
- - za
19
- abbr_month_names:
20
- -
21
- - jan
22
- - feb
23
- - mrt
24
- - apr
25
- - mei
26
- - jun
27
- - jul
28
- - aug
29
- - sep
30
- - okt
31
- - nov
32
- - dec
33
- day_names:
34
- - zondag
35
- - maandag
36
- - dinsdag
37
- - woensdag
38
- - donderdag
39
- - vrijdag
40
- - zaterdag
41
- formats:
42
- default: "%d-%m-%Y"
43
- long: "%e %B %Y"
44
- short: "%e %b"
45
- month_names:
46
- -
47
- - januari
48
- - februari
49
- - maart
50
- - april
51
- - mei
52
- - juni
53
- - juli
54
- - augustus
55
- - september
56
- - oktober
57
- - november
58
- - december
59
- order:
60
- - :day
61
- - :month
62
- - :year
63
- datetime:
64
- distance_in_words:
65
- about_x_hours:
66
- one: ongeveer een uur
67
- other: ongeveer %{count} uur
68
- about_x_months:
69
- one: ongeveer een maand
70
- other: ongeveer %{count} maanden
71
- about_x_years:
72
- one: ongeveer een jaar
73
- other: ongeveer %{count} jaar
74
- almost_x_years:
75
- one: bijna een jaar
76
- other: bijna %{count} jaar
77
- half_a_minute: een halve minuut
78
- less_than_x_seconds:
79
- one: minder dan een seconde
80
- other: minder dan %{count} seconden
81
- less_than_x_minutes:
82
- one: minder dan een minuut
83
- other: minder dan %{count} minuten
84
- over_x_years:
85
- one: meer dan een jaar
86
- other: meer dan %{count} jaar
87
- x_seconds:
88
- one: 1 seconde
89
- other: "%{count} seconden"
90
- x_minutes:
91
- one: 1 minuut
92
- other: "%{count} minuten"
93
- x_days:
94
- one: 1 dag
95
- other: "%{count} dagen"
96
- x_months:
97
- one: 1 maand
98
- other: "%{count} maanden"
99
- x_years:
100
- one: 1 jaar
101
- other: "%{count} jaar"
102
- prompts:
103
- second: seconde
104
- minute: minuut
105
- hour: uur
106
- day: dag
107
- month: maand
108
- year: jaar
109
- errors:
110
- format: "%{attribute} %{message}"
111
- messages:
112
- accepted: moet worden geaccepteerd
113
- blank: moet opgegeven zijn
114
- confirmation: komt niet overeen met %{attribute}
115
- empty: moet opgegeven zijn
116
- equal_to: moet gelijk zijn aan %{count}
117
- even: moet even zijn
118
- exclusion: is gereserveerd
119
- greater_than: moet groter zijn dan %{count}
120
- greater_than_or_equal_to: moet groter dan of gelijk zijn aan %{count}
121
- inclusion: is niet in de lijst opgenomen
122
- invalid: is ongeldig
123
- less_than: moet minder zijn dan %{count}
124
- less_than_or_equal_to: moet minder dan of gelijk zijn aan %{count}
125
- model_invalid: 'Validatie mislukt: %{errors}'
126
- not_a_number: is geen getal
127
- not_an_integer: moet een geheel getal zijn
128
- odd: moet oneven zijn
129
- other_than: moet anders zijn dan %{count}
130
- present: moet leeg zijn
131
- required: moet bestaan
132
- taken: is al in gebruik
133
- too_long:
134
- one: is te lang (maximaal %{count} teken)
135
- other: is te lang (maximaal %{count} tekens)
136
- too_short:
137
- one: is te kort (minimaal %{count} teken)
138
- other: is te kort (minimaal %{count} tekens)
139
- wrong_length:
140
- one: heeft onjuiste lengte (moet 1 teken lang zijn)
141
- other: heeft onjuiste lengte (moet %{count} tekens lang zijn)
142
- template:
143
- body: 'Er zijn problemen met de volgende velden:'
144
- header:
145
- one: "%{model} niet opgeslagen: 1 fout gevonden"
146
- other: "%{model} niet opgeslagen: %{count} fouten gevonden"
147
- helpers:
148
- select:
149
- prompt: Maak een keuze
150
- submit:
151
- create: "%{model} toevoegen"
152
- submit: "%{model} opslaan"
153
- update: "%{model} bijwerken"
154
- number:
155
- currency:
156
- format:
157
- delimiter: "."
158
- format: "%u %n"
159
- precision: 2
160
- separator: ","
161
- significant: false
162
- strip_insignificant_zeros: false
163
- unit: "€"
164
- format:
165
- delimiter: "."
166
- precision: 2
167
- separator: ","
168
- significant: false
169
- strip_insignificant_zeros: false
170
- human:
171
- decimal_units:
172
- format: "%n %u"
173
- units:
174
- billion: miljard
175
- million: miljoen
176
- quadrillion: biljard
177
- thousand: duizend
178
- trillion: biljoen
179
- unit: ''
180
- format:
181
- delimiter: ''
182
- precision: 3
183
- significant: true
184
- strip_insignificant_zeros: true
185
- storage_units:
186
- format: "%n %u"
187
- units:
188
- byte:
189
- one: byte
190
- other: bytes
191
- gb: GB
192
- kb: KB
193
- mb: MB
194
- tb: TB
195
- percentage:
196
- format:
197
- delimiter: ''
198
- format: "%n%"
199
- precision:
200
- format:
201
- delimiter: ''
202
- support:
203
- array:
204
- last_word_connector: " en "
205
- two_words_connector: " en "
206
- words_connector: ", "
207
- time:
208
- am: "'s ochtends"
209
- formats:
210
- default: "%a %d %b %Y %H:%M:%S %Z"
211
- long: "%d %B %Y %H:%M"
212
- short: "%d %b %H:%M"
213
- pm: "'s middags"
@@ -1,65 +0,0 @@
1
- # Additional translations at https://github.com/heartcombo/devise/wiki/I18n
2
-
3
- en:
4
- devise:
5
- confirmations:
6
- confirmed: "Your email address has been successfully confirmed."
7
- send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
8
- send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
9
- failure:
10
- already_authenticated: "You are already signed in."
11
- inactive: "Your account is not activated yet."
12
- invalid: "Invalid %{authentication_keys} or password."
13
- locked: "Your account is locked."
14
- last_attempt: "You have one more attempt before your account is locked."
15
- not_found_in_database: "Invalid %{authentication_keys} or password."
16
- timeout: "Your session expired. Please sign in again to continue."
17
- unauthenticated: "You need to sign in or sign up before continuing."
18
- unconfirmed: "You have to confirm your email address before continuing."
19
- mailer:
20
- confirmation_instructions:
21
- subject: "Confirmation instructions"
22
- reset_password_instructions:
23
- subject: "Reset password instructions"
24
- unlock_instructions:
25
- subject: "Unlock instructions"
26
- email_changed:
27
- subject: "Email Changed"
28
- password_change:
29
- subject: "Password Changed"
30
- omniauth_callbacks:
31
- failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
32
- success: "Successfully authenticated from %{kind} account."
33
- passwords:
34
- no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
35
- send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
36
- send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
37
- updated: "Your password has been changed successfully. You are now signed in."
38
- updated_not_active: "Your password has been changed successfully."
39
- registrations:
40
- destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
41
- signed_up: "Welcome! You have signed up successfully."
42
- signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
43
- signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
44
- signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
45
- update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirmation link to confirm your new email address."
46
- updated: "Your account has been updated successfully."
47
- updated_but_not_signed_in: "Your account has been updated successfully, but since your password was changed, you need to sign in again."
48
- sessions:
49
- signed_in: "Signed in successfully."
50
- signed_out: "Signed out successfully."
51
- already_signed_out: "Signed out successfully."
52
- unlocks:
53
- send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
54
- send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
55
- unlocked: "Your account has been unlocked successfully. Please sign in to continue."
56
- errors:
57
- messages:
58
- already_confirmed: "was already confirmed, please try signing in"
59
- confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
60
- expired: "has expired, please request a new one"
61
- not_found: "not found"
62
- not_locked: "was not locked"
63
- not_saved:
64
- one: "1 error prohibited this %{resource} from being saved:"
65
- other: "%{count} errors prohibited this %{resource} from being saved:"