devise-i18n 1.5.1 → 1.9.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +33 -3
- data/VERSION +1 -1
- data/app/views/devise/confirmations/new.html.erb +2 -2
- data/app/views/devise/mailer/confirmation_instructions.html.erb +3 -3
- data/app/views/devise/mailer/email_changed.html.erb +7 -0
- data/app/views/devise/mailer/password_change.html.erb +0 -1
- data/app/views/devise/mailer/reset_password_instructions.html.erb +1 -2
- data/app/views/devise/mailer/unlock_instructions.html.erb +1 -2
- data/app/views/devise/passwords/edit.html.erb +6 -3
- data/app/views/devise/passwords/new.html.erb +2 -2
- data/app/views/devise/registrations/edit.html.erb +15 -11
- data/app/views/devise/registrations/new.html.erb +8 -5
- data/app/views/devise/sessions/new.html.erb +2 -2
- data/app/views/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/devise/shared/_links.html.erb +9 -9
- data/app/views/devise/unlocks/new.html.erb +2 -2
- data/lib/generators/devise/templates/simple_form_for/confirmations/new.html.erb +5 -1
- data/lib/generators/devise/templates/simple_form_for/passwords/edit.html.erb +10 -2
- data/lib/generators/devise/templates/simple_form_for/passwords/new.html.erb +4 -1
- data/lib/generators/devise/templates/simple_form_for/registrations/edit.html.erb +13 -7
- data/lib/generators/devise/templates/simple_form_for/registrations/new.html.erb +11 -3
- data/lib/generators/devise/templates/simple_form_for/sessions/new.html.erb +7 -2
- data/lib/generators/devise/templates/simple_form_for/unlocks/new.html.erb +4 -1
- data/rails/locales/af.yml +25 -18
- data/rails/locales/ar.yml +110 -103
- data/rails/locales/az.yml +95 -88
- data/rails/locales/be.yml +109 -102
- data/rails/locales/bg.yml +112 -105
- data/rails/locales/bn.yml +111 -104
- data/rails/locales/bs.yml +74 -67
- data/rails/locales/ca.yml +27 -18
- data/rails/locales/cs.yml +60 -50
- data/rails/locales/da.yml +101 -92
- data/rails/locales/de-CH.yml +30 -21
- data/rails/locales/de.yml +37 -26
- data/rails/locales/el.yml +110 -101
- data/rails/locales/en-GB.yml +31 -21
- data/rails/locales/en.yml +17 -6
- data/rails/locales/es-CO.yml +143 -0
- data/rails/locales/es-MX.yml +17 -6
- data/rails/locales/es.yml +25 -14
- data/rails/locales/et.yml +8 -1
- data/rails/locales/fa.yml +111 -104
- data/rails/locales/fi.yml +9 -0
- data/rails/locales/fr-CA.yml +50 -41
- data/rails/locales/fr.yml +49 -40
- data/rails/locales/ha.yml +25 -18
- data/rails/locales/he.yml +113 -104
- data/rails/locales/hi.yml +149 -0
- data/rails/locales/hr.yml +74 -67
- data/rails/locales/hu.yml +32 -25
- data/rails/locales/id.yml +12 -5
- data/rails/locales/ig.yml +25 -18
- data/rails/locales/is.yml +25 -16
- data/rails/locales/it.yml +20 -9
- data/rails/locales/ja.yml +100 -93
- data/rails/locales/ka.yml +110 -102
- data/rails/locales/km.yml +141 -0
- data/rails/locales/ko.yml +102 -95
- data/rails/locales/lo-LA.yml +116 -109
- data/rails/locales/lt.yml +73 -66
- data/rails/locales/lv.yml +43 -33
- data/rails/locales/mk.yml +146 -0
- data/rails/locales/ms.yml +9 -2
- data/rails/locales/nb.yml +11 -2
- data/rails/locales/nl.yml +27 -18
- data/rails/locales/nn-NO.yml +10 -3
- data/rails/locales/no.yml +10 -3
- data/rails/locales/pap-AW.yml +143 -0
- data/rails/locales/pap-CW.yml +143 -0
- data/rails/locales/pl.yml +41 -27
- data/rails/locales/pt-BR.yml +22 -13
- data/rails/locales/pt.yml +64 -53
- data/rails/locales/ro.yml +33 -23
- data/rails/locales/ru.yml +115 -100
- data/rails/locales/si.yml +110 -103
- data/rails/locales/sk.yml +17 -7
- data/rails/locales/sl.yml +33 -26
- data/rails/locales/sq.yml +147 -0
- data/rails/locales/sr-RS.yml +118 -103
- data/rails/locales/sr.yml +75 -64
- data/rails/locales/sv.yml +20 -11
- data/rails/locales/th.yml +110 -103
- data/rails/locales/tl.yml +33 -26
- data/rails/locales/tr.yml +40 -33
- data/rails/locales/uk.yml +115 -104
- data/rails/locales/ur.yml +106 -99
- data/rails/locales/vi.yml +29 -20
- data/rails/locales/yo.yml +97 -74
- data/rails/locales/zh-CN.yml +111 -104
- data/rails/locales/zh-HK.yml +111 -104
- data/rails/locales/zh-TW.yml +112 -105
- data/rails/locales/zh-YUE.yml +111 -104
- metadata +49 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b1c2fef9262ab425f0be6032c1754f354caa752789f02c49b0d1d712aa7c362c
|
4
|
+
data.tar.gz: 728bddbbdb6e1bd4e493defb6f0b53b7409535780a84cce9d6f0dea514330f19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2f7f3ad8686168951a928df5a0c31df647b81f457c4a7aabf66b93ac3406f8d820bbd6c86d802132a76c4ac32a21187dc7b2b08cebd10e6c140a01e238d00d1
|
7
|
+
data.tar.gz: c5eed45a15d6f328ffe225988ba307dceb41ab0311fd825e3ebc537bdc6c68c372977c3f104b9d5e26fc6103bef33587b0d1b40692a58ee29f525ff3b5de0d3d
|
data/README.md
CHANGED
@@ -13,9 +13,37 @@ Add to your Gemfile:
|
|
13
13
|
gem 'devise-i18n'
|
14
14
|
```
|
15
15
|
|
16
|
-
Assuming you have _not_ previously generated Devise's views into your project, that's all you need to do. If you _have_ previously done this, you will need to regenerate your views (see
|
16
|
+
Assuming you have _not_ previously generated Devise's views into your project, that's all you need to do. If you _have_ previously done this, you will need to regenerate your views (see "Customizing views" below) and then reapply whatever customizations that made you do this in the first place.
|
17
17
|
|
18
|
-
|
18
|
+
## Setting your locale
|
19
|
+
|
20
|
+
You will need to set a locale in your application as described in the [Rails Internationalization Guide](https://guides.rubyonrails.org/i18n.html).
|
21
|
+
|
22
|
+
If you are setting the locale per request (because your application supports multiple locales), the suggested code in that guide (using `I18n.with_locale` inside an `around_action`) will not work properly with devise-i18n. Due to [a bug in warden](https://github.com/wardencommunity/warden/issues/180), some error messages will not be translated. Instead, you can set the locale in a `before_action`:
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
before_action do
|
26
|
+
I18n.locale = :es # Or whatever logic you use to choose.
|
27
|
+
end
|
28
|
+
```
|
29
|
+
|
30
|
+
or in middleware:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
class LocaleMiddleware
|
34
|
+
def initialize(app)
|
35
|
+
@app = app
|
36
|
+
end
|
37
|
+
|
38
|
+
def call(env)
|
39
|
+
I18n.locale = :es # Or whatever logic you use to choose.
|
40
|
+
status, headers, body = @app.call(env)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
```
|
44
|
+
```ruby
|
45
|
+
config.middleware.use ::LocaleMiddleware
|
46
|
+
```
|
19
47
|
|
20
48
|
## Customizing views
|
21
49
|
|
@@ -26,6 +54,8 @@ rails g devise:i18n:views
|
|
26
54
|
```
|
27
55
|
You should only do this if you really need to, though, because doing this will make it so that you won't get the updated views should they change in a future version of devise-i18n. To "uncustomize" the views, just delete them, and your app will go back to grabbing devise-i18n's default views.
|
28
56
|
|
57
|
+
If you have ```simple_form``` in your Gemfile, this command will generate the corresponding views using the simple_form form builder.
|
58
|
+
|
29
59
|
## Scoped views
|
30
60
|
|
31
61
|
If you need to use scoped views (for example, if you have different ones for users and admins), you can include the scope in this command.
|
@@ -33,7 +63,7 @@ If you need to use scoped views (for example, if you have different ones for use
|
|
33
63
|
rails g devise:i18n:views user
|
34
64
|
```
|
35
65
|
|
36
|
-
You will additionally need to generate the
|
66
|
+
You will additionally need to generate the translations into your app per the following section and then add keys in each file for the scope you are using.
|
37
67
|
|
38
68
|
## Customizing translations
|
39
69
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.9.4
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<h2><%= t('.resend_confirmation_instructions') %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
|
6
6
|
<div class="field">
|
7
7
|
<%= f.label :email %><br />
|
8
|
-
<%= f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="actions">
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
<p><%= t('.greeting', recipient: @resource.email) %></p>
|
1
|
+
<p><%= t('.greeting', recipient: @email) %></p>
|
3
2
|
|
4
3
|
<p><%= t('.instruction') %></p>
|
5
|
-
|
4
|
+
|
5
|
+
<p><%= link_to t('.action'), confirmation_url(@resource, confirmation_token: @token) %></p>
|
@@ -1,9 +1,8 @@
|
|
1
|
-
<% require 'devise/version' %>
|
2
1
|
<p><%= t('.greeting', recipient: @resource.email) %></p>
|
3
2
|
|
4
3
|
<p><%= t('.instruction') %></p>
|
5
4
|
|
6
|
-
<p><%= link_to t('.action'), edit_password_url(@resource, :
|
5
|
+
<p><%= link_to t('.action'), edit_password_url(@resource, reset_password_token: @token) %></p>
|
7
6
|
|
8
7
|
<p><%= t('.instruction_2') %></p>
|
9
8
|
<p><%= t('.instruction_3') %></p>
|
@@ -1,8 +1,7 @@
|
|
1
|
-
<% require 'devise/version' %>
|
2
1
|
<p><%= t('.greeting', recipient: @resource.email) %></p>
|
3
2
|
|
4
3
|
<p><%= t('.message') %></p>
|
5
4
|
|
6
5
|
<p><%= t('.instruction') %></p>
|
7
6
|
|
8
|
-
<p><%= link_to t('.action'), unlock_url(@resource, :
|
7
|
+
<p><%= link_to t('.action'), unlock_url(@resource, unlock_token: @token) %></p>
|
@@ -1,17 +1,20 @@
|
|
1
1
|
<h2><%= t('.change_your_password') %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
<%= f.hidden_field :reset_password_token %>
|
6
6
|
|
7
7
|
<div class="field">
|
8
8
|
<%= f.label :password, t('.new_password') %><br />
|
9
|
-
|
9
|
+
<% if @minimum_password_length %>
|
10
|
+
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em><br />
|
11
|
+
<% end %>
|
12
|
+
<%= f.password_field :password, autofocus: true, autocomplete: "new-password" %>
|
10
13
|
</div>
|
11
14
|
|
12
15
|
<div class="field">
|
13
16
|
<%= f.label :password_confirmation, t('.confirm_new_password') %><br />
|
14
|
-
<%= f.password_field :password_confirmation, autocomplete: "
|
17
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
15
18
|
</div>
|
16
19
|
|
17
20
|
<div class="actions">
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<h2><%= t('.forgot_your_password') %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
|
6
6
|
<div class="field">
|
7
7
|
<%= f.label :email %><br />
|
8
|
-
<%= f.email_field :email, autofocus: true %>
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="actions">
|
@@ -1,39 +1,43 @@
|
|
1
|
-
<h2><%= t('.title', resource:
|
1
|
+
<h2><%= t('.title', resource: resource.model_name.human) %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
|
6
6
|
<div class="field">
|
7
7
|
<%= f.label :email %><br />
|
8
|
-
<%= f.email_field :email %>
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
|
12
|
-
<
|
13
|
-
<%= t('.currently_waiting_confirmation_for_email', email: resource.unconfirmed_email) %>
|
14
|
-
</p>
|
12
|
+
<div><%= t('.currently_waiting_confirmation_for_email', email: resource.unconfirmed_email) %></div>
|
15
13
|
<% end %>
|
16
14
|
|
17
15
|
<div class="field">
|
18
16
|
<%= f.label :password %> <i>(<%= t('.leave_blank_if_you_don_t_want_to_change_it') %>)</i><br />
|
19
|
-
<%= f.password_field :password, autocomplete: "
|
17
|
+
<%= f.password_field :password, autocomplete: "new-password" %>
|
18
|
+
<% if @minimum_password_length %>
|
19
|
+
<br />
|
20
|
+
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em>
|
21
|
+
<% end %>
|
20
22
|
</div>
|
21
23
|
|
22
24
|
<div class="field">
|
23
25
|
<%= f.label :password_confirmation %><br />
|
24
|
-
<%= f.password_field :password_confirmation %>
|
26
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
25
27
|
</div>
|
26
28
|
|
27
29
|
<div class="field">
|
28
30
|
<%= f.label :current_password %> <i>(<%= t('.we_need_your_current_password_to_confirm_your_changes') %>)</i><br />
|
29
|
-
<%= f.password_field :current_password %>
|
31
|
+
<%= f.password_field :current_password, autocomplete: "current-password" %>
|
30
32
|
</div>
|
31
33
|
|
32
|
-
<div
|
34
|
+
<div class="actions">
|
35
|
+
<%= f.submit t('.update') %>
|
36
|
+
</div>
|
33
37
|
<% end %>
|
34
38
|
|
35
39
|
<h3><%= t('.cancel_my_account') %></h3>
|
36
40
|
|
37
|
-
<p><%= t('.unhappy') %> <%=
|
41
|
+
<p><%= t('.unhappy') %> <%= button_to t('.cancel_my_account'), registration_path(resource_name), data: { confirm: t('.are_you_sure') }, method: :delete %></p>
|
38
42
|
|
39
43
|
<%= link_to t('devise.shared.links.back'), :back %>
|
@@ -1,21 +1,24 @@
|
|
1
1
|
<h2><%= t('.sign_up') %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
|
6
6
|
<div class="field">
|
7
7
|
<%= f.label :email %><br />
|
8
|
-
<%= f.email_field :email, autofocus: true %>
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="field">
|
12
|
-
<%= f.label :password
|
13
|
-
|
12
|
+
<%= f.label :password %>
|
13
|
+
<% if @minimum_password_length %>
|
14
|
+
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em>
|
15
|
+
<% end %><br />
|
16
|
+
<%= f.password_field :password, autocomplete: "new-password" %>
|
14
17
|
</div>
|
15
18
|
|
16
19
|
<div class="field">
|
17
20
|
<%= f.label :password_confirmation %><br />
|
18
|
-
<%= f.password_field :password_confirmation, autocomplete: "
|
21
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
19
22
|
</div>
|
20
23
|
|
21
24
|
<div class="actions">
|
@@ -3,12 +3,12 @@
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
|
4
4
|
<div class="field">
|
5
5
|
<%= f.label :email %><br />
|
6
|
-
<%= f.email_field :email, autofocus: true
|
6
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
7
7
|
</div>
|
8
8
|
|
9
9
|
<div class="field">
|
10
10
|
<%= f.label :password %><br />
|
11
|
-
<%= f.password_field :password, autocomplete: "
|
11
|
+
<%= f.password_field :password, autocomplete: "current-password" %>
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<% if devise_mapping.rememberable? %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<% if resource.errors.any? %>
|
2
|
+
<div id="error_explanation">
|
3
|
+
<h2>
|
4
|
+
<%= I18n.t("errors.messages.not_saved",
|
5
|
+
count: resource.errors.count,
|
6
|
+
resource: resource.class.model_name.human.downcase)
|
7
|
+
%>
|
8
|
+
</h2>
|
9
|
+
<ul>
|
10
|
+
<% resource.errors.full_messages.each do |message| %>
|
11
|
+
<li><%= message %></li>
|
12
|
+
<% end %>
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
@@ -1,25 +1,25 @@
|
|
1
1
|
<%- if controller_name != 'sessions' %>
|
2
2
|
<%= link_to t(".sign_in"), new_session_path(resource_name) %><br />
|
3
|
-
<% end
|
3
|
+
<% end %>
|
4
4
|
|
5
5
|
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
6
6
|
<%= link_to t(".sign_up"), new_registration_path(resource_name) %><br />
|
7
|
-
<% end
|
7
|
+
<% end %>
|
8
8
|
|
9
|
-
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
9
|
+
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
|
10
10
|
<%= link_to t(".forgot_your_password"), new_password_path(resource_name) %><br />
|
11
|
-
<% end
|
11
|
+
<% end %>
|
12
12
|
|
13
13
|
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
14
14
|
<%= link_to t('.didn_t_receive_confirmation_instructions'), new_confirmation_path(resource_name) %><br />
|
15
|
-
<% end
|
15
|
+
<% end %>
|
16
16
|
|
17
17
|
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
18
18
|
<%= link_to t('.didn_t_receive_unlock_instructions'), new_unlock_path(resource_name) %><br />
|
19
|
-
<% end
|
19
|
+
<% end %>
|
20
20
|
|
21
21
|
<%- if devise_mapping.omniauthable? %>
|
22
22
|
<%- resource_class.omniauth_providers.each do |provider| %>
|
23
|
-
<%= link_to t('.sign_in_with_provider', provider: provider
|
24
|
-
<% end
|
25
|
-
<% end
|
23
|
+
<%= link_to t('.sign_in_with_provider', provider: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider) %><br />
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<h2><%= t('.resend_unlock_instructions') %></h2>
|
2
2
|
|
3
3
|
<%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
|
4
|
-
<%=
|
4
|
+
<%= render "devise/shared/error_messages", resource: resource %>
|
5
5
|
|
6
6
|
<div class="field">
|
7
7
|
<%= f.label :email %><br />
|
8
|
-
<%= f.email_field :email, autofocus: true %>
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="actions">
|
@@ -5,7 +5,11 @@
|
|
5
5
|
<%= f.full_error :confirmation_token %>
|
6
6
|
|
7
7
|
<div class="form-inputs">
|
8
|
-
<%= f.input :email,
|
8
|
+
<%= f.input :email,
|
9
|
+
required: true,
|
10
|
+
autofocus: true,
|
11
|
+
value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email),
|
12
|
+
input_html: { autocomplete: "email" } %>
|
9
13
|
</div>
|
10
14
|
|
11
15
|
<div class="form-actions">
|
@@ -7,8 +7,16 @@
|
|
7
7
|
<%= f.full_error :reset_password_token %>
|
8
8
|
|
9
9
|
<div class="form-inputs">
|
10
|
-
<%= f.input :password,
|
11
|
-
|
10
|
+
<%= f.input :password,
|
11
|
+
label: t(".new_password"),
|
12
|
+
required: true,
|
13
|
+
autofocus: true,
|
14
|
+
hint: (t('devise.shared.minimum_password_length', count: @minimum_password_length) if @minimum_password_length),
|
15
|
+
input_html: { autocomplete: "new-password" } %>
|
16
|
+
<%= f.input :password_confirmation,
|
17
|
+
label: t(".confirm_new_password"),
|
18
|
+
required: true,
|
19
|
+
input_html: { autocomplete: "new-password" } %>
|
12
20
|
</div>
|
13
21
|
|
14
22
|
<div class="form-actions">
|
@@ -4,7 +4,10 @@
|
|
4
4
|
<%= f.error_notification %>
|
5
5
|
|
6
6
|
<div class="form-inputs">
|
7
|
-
<%= f.input :email,
|
7
|
+
<%= f.input :email,
|
8
|
+
required: true,
|
9
|
+
autofocus: true,
|
10
|
+
input_html: { autocomplete: "email" } %>
|
8
11
|
</div>
|
9
12
|
|
10
13
|
<div class="form-actions">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<h2><%= t(".title", resource:
|
1
|
+
<h2><%= t(".title", resource: resource.model_name.human) %></h2>
|
2
2
|
|
3
3
|
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
|
4
4
|
<%= f.error_notification %>
|
@@ -7,14 +7,20 @@
|
|
7
7
|
<%= f.input :email, required: true, autofocus: true %>
|
8
8
|
|
9
9
|
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
|
10
|
-
<p>
|
11
|
-
<%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %>
|
12
|
-
</p>
|
10
|
+
<p><%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %></p>
|
13
11
|
<% end %>
|
14
12
|
|
15
|
-
<%= f.input :password,
|
16
|
-
|
17
|
-
|
13
|
+
<%= f.input :password,
|
14
|
+
hint: t(".leave_blank_if_you_don_t_want_to_change_it"),
|
15
|
+
required: false,
|
16
|
+
input_html: { autocomplete: "new-password" } %>
|
17
|
+
<%= f.input :password_confirmation,
|
18
|
+
required: false,
|
19
|
+
input_html: { autocomplete: "new-password" } %>
|
20
|
+
<%= f.input :current_password,
|
21
|
+
hint: t(".we_need_your_current_password_to_confirm_your_changes"),
|
22
|
+
required: true,
|
23
|
+
input_html: { autocomplete: "current-password" } %>
|
18
24
|
</div>
|
19
25
|
|
20
26
|
<div class="form-actions">
|
@@ -4,9 +4,17 @@
|
|
4
4
|
<%= f.error_notification %>
|
5
5
|
|
6
6
|
<div class="form-inputs">
|
7
|
-
<%= f.input :email,
|
8
|
-
|
9
|
-
|
7
|
+
<%= f.input :email,
|
8
|
+
required: true,
|
9
|
+
autofocus: true ,
|
10
|
+
input_html: { autocomplete: "email" }%>
|
11
|
+
<%= f.input :password,
|
12
|
+
required: true,
|
13
|
+
hint: (t('devise.shared.minimum_password_length', count: @minimum_password_length) if @minimum_password_length),
|
14
|
+
input_html: { autocomplete: "new-password" } %>
|
15
|
+
<%= f.input :password_confirmation,
|
16
|
+
required: true,
|
17
|
+
input_html: { autocomplete: "new-password" } %>
|
10
18
|
</div>
|
11
19
|
|
12
20
|
<div class="form-actions">
|
@@ -2,8 +2,13 @@
|
|
2
2
|
|
3
3
|
<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
|
4
4
|
<div class="form-inputs">
|
5
|
-
<%= f.input :email,
|
6
|
-
|
5
|
+
<%= f.input :email,
|
6
|
+
required: false,
|
7
|
+
autofocus: true,
|
8
|
+
input_html: { autocomplete: "email" } %>
|
9
|
+
<%= f.input :password,
|
10
|
+
required: false,
|
11
|
+
input_html: { autocomplete: "current-password" } %>
|
7
12
|
<%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
|
8
13
|
</div>
|
9
14
|
|
@@ -5,7 +5,10 @@
|
|
5
5
|
<%= f.full_error :unlock_token %>
|
6
6
|
|
7
7
|
<div class="form-inputs">
|
8
|
-
<%= f.input :email,
|
8
|
+
<%= f.input :email,
|
9
|
+
required: true,
|
10
|
+
autofocus: true,
|
11
|
+
input_html: { autocomplete: "email" } %>
|
9
12
|
</div>
|
10
13
|
|
11
14
|
<div class="form-actions">
|
data/rails/locales/af.yml
CHANGED
@@ -2,29 +2,29 @@ af:
|
|
2
2
|
activerecord:
|
3
3
|
attributes:
|
4
4
|
user:
|
5
|
-
confirmation_sent_at:
|
6
|
-
confirmation_token:
|
7
|
-
confirmed_at:
|
8
|
-
created_at:
|
5
|
+
confirmation_sent_at:
|
6
|
+
confirmation_token:
|
7
|
+
confirmed_at:
|
8
|
+
created_at:
|
9
9
|
current_password: Huidige wagwoord
|
10
|
-
current_sign_in_at:
|
11
|
-
current_sign_in_ip:
|
10
|
+
current_sign_in_at:
|
11
|
+
current_sign_in_ip:
|
12
12
|
email: E-pos
|
13
|
-
encrypted_password:
|
14
|
-
failed_attempts:
|
15
|
-
last_sign_in_at:
|
16
|
-
last_sign_in_ip:
|
17
|
-
locked_at:
|
13
|
+
encrypted_password:
|
14
|
+
failed_attempts:
|
15
|
+
last_sign_in_at:
|
16
|
+
last_sign_in_ip:
|
17
|
+
locked_at:
|
18
18
|
password: Wagwoord
|
19
19
|
password_confirmation: Wagwoord bevestiging
|
20
|
-
remember_created_at:
|
20
|
+
remember_created_at:
|
21
21
|
remember_me: Onthou my
|
22
|
-
reset_password_sent_at:
|
22
|
+
reset_password_sent_at:
|
23
23
|
reset_password_token: Herstel wagwoord egtheidsbewys
|
24
|
-
sign_in_count:
|
25
|
-
unconfirmed_email:
|
24
|
+
sign_in_count:
|
25
|
+
unconfirmed_email:
|
26
26
|
unlock_token: Ontsluit egtheidsbewys
|
27
|
-
updated_at:
|
27
|
+
updated_at:
|
28
28
|
models:
|
29
29
|
user: Gebruiker
|
30
30
|
devise:
|
@@ -37,10 +37,10 @@ af:
|
|
37
37
|
failure:
|
38
38
|
already_authenticated: Jy is alreeds aangeteken.
|
39
39
|
inactive: Jou rekening is nog nie geaktiveer nie.
|
40
|
-
invalid:
|
40
|
+
invalid:
|
41
41
|
last_attempt: Jy het nog een poging voor jou rekening gesluit sal word.
|
42
42
|
locked: Jou rekening is gesluit.
|
43
|
-
not_found_in_database:
|
43
|
+
not_found_in_database:
|
44
44
|
timeout: Jou sessie het verstryk. Teken asseblief aan om voort te gaan.
|
45
45
|
unauthenticated: Jy moet aanteken of inteken voor jy voortgaan.
|
46
46
|
unconfirmed: Jy moet jou e-posadres bevestig voor jy voortgaan.
|
@@ -50,6 +50,11 @@ af:
|
|
50
50
|
greeting: Welkom %{recipient}!
|
51
51
|
instruction: 'Jy kan jou rekening e-pos bevestig deur die onderstaande skakel:'
|
52
52
|
subject: Bevestigingsinstruksies
|
53
|
+
email_changed:
|
54
|
+
greeting:
|
55
|
+
message:
|
56
|
+
message_unconfirmed:
|
57
|
+
subject:
|
53
58
|
password_change:
|
54
59
|
greeting: Hallo %{recipient}!
|
55
60
|
message: Ons kontak jou om jou in kennis te stel dat jou wagwoord verander is.
|
@@ -103,6 +108,7 @@ af:
|
|
103
108
|
signed_up_but_unconfirmed: "'n Boodskap met 'n bevestigingsskakel was gestuur na jou e-posadres. Volg asseblief die skakel om jou rekening te aktiveer."
|
104
109
|
update_needs_confirmation: Jy het jou rekening suksesvol opgedateer, maar ons moet eerst jou nuwe e-posadres verifieer. Kyk asseblief na jou e-posse en volg die bevestigingsskakel om jou nuwe e-posadres te bevestig.
|
105
110
|
updated: Jou rekening was suksesvol opgedateer.
|
111
|
+
updated_but_not_signed_in:
|
106
112
|
sessions:
|
107
113
|
already_signed_out: Suksesvol uitgeteken.
|
108
114
|
new:
|
@@ -118,6 +124,7 @@ af:
|
|
118
124
|
sign_in: Teken aan
|
119
125
|
sign_in_with_provider: Teken aan met %{provider}
|
120
126
|
sign_up: Teken in
|
127
|
+
minimum_password_length:
|
121
128
|
unlocks:
|
122
129
|
new:
|
123
130
|
resend_unlock_instructions: Stuur weer ontsluitingsinstruksies
|