formstrap 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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:"