devise-i18n 1.6.2 → 1.10.2
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.
- checksums.yaml +5 -5
- data/README.md +36 -6
- data/VERSION +1 -1
- data/app/views/devise/confirmations/new.html.erb +1 -1
- data/app/views/devise/mailer/confirmation_instructions.html.erb +1 -0
- data/app/views/devise/mailer/email_changed.html.erb +1 -1
- data/app/views/devise/passwords/edit.html.erb +3 -3
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/edit.html.erb +5 -5
- data/app/views/devise/registrations/new.html.erb +3 -3
- data/app/views/devise/sessions/new.html.erb +3 -3
- data/app/views/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/devise/shared/_links.html.erb +8 -8
- data/app/views/devise/unlocks/new.html.erb +1 -1
- 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 +12 -4
- 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 +24 -22
- data/rails/locales/ar.yml +109 -107
- data/rails/locales/az.yml +94 -92
- data/rails/locales/be.yml +108 -106
- data/rails/locales/bg.yml +111 -109
- data/rails/locales/bn.yml +110 -108
- data/rails/locales/bs.yml +73 -71
- data/rails/locales/ca.yml +3 -1
- data/rails/locales/cs.yml +17 -15
- data/rails/locales/da.yml +2 -0
- data/rails/locales/de-CH.yml +19 -15
- data/rails/locales/de.yml +32 -28
- data/rails/locales/el.yml +109 -105
- data/rails/locales/en-GB.yml +30 -25
- data/rails/locales/en.yml +9 -5
- data/rails/locales/es-CO.yml +143 -0
- data/rails/locales/es-MX.yml +15 -9
- data/rails/locales/es.yml +14 -10
- data/rails/locales/et.yml +7 -5
- data/rails/locales/fa.yml +110 -108
- data/rails/locales/fi.yml +8 -4
- data/rails/locales/fr-CA.yml +49 -45
- data/rails/locales/fr.yml +45 -43
- data/rails/locales/ha.yml +24 -22
- data/rails/locales/he.yml +112 -108
- data/rails/locales/hi.yml +149 -0
- data/rails/locales/hr.yml +81 -71
- data/rails/locales/hu.yml +31 -29
- data/rails/locales/id.yml +21 -19
- data/rails/locales/ig.yml +24 -22
- data/rails/locales/is.yml +15 -13
- data/rails/locales/it.yml +21 -15
- data/rails/locales/ja.yml +98 -96
- data/rails/locales/ka.yml +109 -106
- data/rails/locales/km.yml +141 -0
- data/rails/locales/ko.yml +101 -99
- data/rails/locales/lo-LA.yml +115 -113
- data/rails/locales/lt.yml +72 -70
- data/rails/locales/lv.yml +10 -8
- data/rails/locales/mk.yml +146 -0
- data/rails/locales/ms.yml +8 -6
- data/rails/locales/nb.yml +10 -6
- data/rails/locales/nl.yml +5 -1
- data/rails/locales/nn-NO.yml +9 -7
- data/rails/locales/no.yml +9 -7
- data/rails/locales/pap-AW.yml +143 -0
- data/rails/locales/pap-CW.yml +143 -0
- data/rails/locales/pl.yml +41 -32
- data/rails/locales/pt-BR.yml +24 -18
- data/rails/locales/pt.yml +63 -57
- data/rails/locales/ro.yml +18 -13
- data/rails/locales/ru.yml +108 -102
- data/rails/locales/si.yml +109 -107
- data/rails/locales/sk.yml +16 -11
- data/rails/locales/sl.yml +32 -30
- data/rails/locales/sq.yml +111 -105
- data/rails/locales/sr-RS.yml +117 -107
- data/rails/locales/sr.yml +74 -68
- data/rails/locales/sv.yml +10 -8
- data/rails/locales/th.yml +109 -107
- data/rails/locales/tl.yml +32 -30
- data/rails/locales/tr.yml +39 -37
- data/rails/locales/uk.yml +114 -108
- data/rails/locales/ur.yml +105 -103
- data/rails/locales/vi.yml +28 -24
- data/rails/locales/yo.yml +96 -78
- data/rails/locales/zh-CN.yml +109 -107
- data/rails/locales/zh-HK.yml +110 -108
- data/rails/locales/zh-TW.yml +110 -108
- data/rails/locales/zh-YUE.yml +110 -108
- metadata +53 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 24becea622dee0f94170ad654b78f00cb39944ff1f915589f8453694474de4f5
|
4
|
+
data.tar.gz: 8745c173a7cdaf247e713218b7abd531d4400065351113d1a89b45b4b694250f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed3460598eb5154eecf8971e4b7f3d3e0b9ab1211a32ff8dd62e2a06545c77c565a35b5a6f95a0010b60c8dd30e34c1da3b8f6844842cb8e52827f2763de7b8e
|
7
|
+
data.tar.gz: 9a9bcc313ee70490ee9a852289fcede6607872b1daf0b673c937b0572af7b04ea50fb42cdd88ea500d98c218b76bc6b92a337422f4891c55539a93417e9e170b
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# devise-i18n
|
2
2
|
|
3
|
-
[](https://github.com/tigrish/devise-i18n/actions/workflows/ci.yml)
|
4
4
|
|
5
5
|
[Devise](https://github.com/plataformatec/devise) "is a flexible authentication solution for Rails based on Warden". Internationalization (aka i18n) is a "means of adapting computer software to different languages, regional differences and technical requirements of a target market".
|
6
6
|
|
@@ -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
|
|
@@ -47,8 +77,8 @@ which will generate `config/locales/devise.views.it.yml`. If you're doing this t
|
|
47
77
|
|
48
78
|
## Contributing translations to devise-i18n
|
49
79
|
|
50
|
-
Edit the translations directly on the [devise-i18n](
|
51
|
-
The maintainer will periodically pull translations from the Locale project and push to
|
80
|
+
Edit the translations directly on the [devise-i18n](https://app.localeapp.com/projects/377) project on Locale. **That's it!**
|
81
|
+
The maintainer will periodically pull translations from the Locale project and push to GitHub.
|
52
82
|
|
53
83
|
Alternately, you can create a pull request on GitHub.
|
54
84
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.10.2
|
@@ -1,7 +1,7 @@
|
|
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 />
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<p><%= t('.greeting', recipient: @email) %></p>
|
2
2
|
|
3
3
|
<% if @resource.try(:unconfirmed_email?) %>
|
4
|
-
<p><%= t('.
|
4
|
+
<p><%= t('.message_unconfirmed', email: @resource.unconfirmed_email) %></p>
|
5
5
|
<% else %>
|
6
6
|
<p><%= t('.message', email: @resource.email) %></p>
|
7
7
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
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">
|
@@ -9,12 +9,12 @@
|
|
9
9
|
<% if @minimum_password_length %>
|
10
10
|
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em><br />
|
11
11
|
<% end %>
|
12
|
-
<%= f.password_field :password, autofocus: true, autocomplete: "
|
12
|
+
<%= f.password_field :password, autofocus: true, autocomplete: "new-password" %>
|
13
13
|
</div>
|
14
14
|
|
15
15
|
<div class="field">
|
16
16
|
<%= f.label :password_confirmation, t('.confirm_new_password') %><br />
|
17
|
-
<%= f.password_field :password_confirmation, autocomplete: "
|
17
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
18
18
|
</div>
|
19
19
|
|
20
20
|
<div class="actions">
|
@@ -1,7 +1,7 @@
|
|
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 />
|
@@ -1,7 +1,7 @@
|
|
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 />
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
<div class="field">
|
16
16
|
<%= f.label :password %> <i>(<%= t('.leave_blank_if_you_don_t_want_to_change_it') %>)</i><br />
|
17
|
-
<%= f.password_field :password, autocomplete: "
|
17
|
+
<%= f.password_field :password, autocomplete: "new-password" %>
|
18
18
|
<% if @minimum_password_length %>
|
19
19
|
<br />
|
20
20
|
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em>
|
@@ -23,12 +23,12 @@
|
|
23
23
|
|
24
24
|
<div class="field">
|
25
25
|
<%= f.label :password_confirmation %><br />
|
26
|
-
<%= f.password_field :password_confirmation, autocomplete: "
|
26
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
27
27
|
</div>
|
28
28
|
|
29
29
|
<div class="field">
|
30
30
|
<%= f.label :current_password %> <i>(<%= t('.we_need_your_current_password_to_confirm_your_changes') %>)</i><br />
|
31
|
-
<%= f.password_field :current_password, autocomplete: "
|
31
|
+
<%= f.password_field :current_password, autocomplete: "current-password" %>
|
32
32
|
</div>
|
33
33
|
|
34
34
|
<div class="actions">
|
@@ -1,7 +1,7 @@
|
|
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 />
|
@@ -13,12 +13,12 @@
|
|
13
13
|
<% if @minimum_password_length %>
|
14
14
|
<em><%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %></em>
|
15
15
|
<% end %><br />
|
16
|
-
<%= f.password_field :password, autocomplete: "
|
16
|
+
<%= f.password_field :password, autocomplete: "new-password" %>
|
17
17
|
</div>
|
18
18
|
|
19
19
|
<div class="field">
|
20
20
|
<%= f.label :password_confirmation %><br />
|
21
|
-
<%= f.password_field :password_confirmation, autocomplete: "
|
21
|
+
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
|
22
22
|
</div>
|
23
23
|
|
24
24
|
<div class="actions">
|
@@ -8,15 +8,15 @@
|
|
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
|
-
<% if devise_mapping.rememberable?
|
14
|
+
<% if devise_mapping.rememberable? %>
|
15
15
|
<div class="field">
|
16
16
|
<%= f.check_box :remember_me %>
|
17
17
|
<%= f.label :remember_me %>
|
18
18
|
</div>
|
19
|
-
<% end
|
19
|
+
<% end %>
|
20
20
|
|
21
21
|
<div class="actions">
|
22
22
|
<%= f.submit t('.sign_in') %>
|
@@ -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
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: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider) %><br />
|
24
|
-
<% end
|
25
|
-
<% end
|
23
|
+
<%= link_to t('.sign_in_with_provider', provider: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider), method: :post %><br />
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
@@ -1,7 +1,7 @@
|
|
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 />
|
@@ -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 %>
|
@@ -10,9 +10,17 @@
|
|
10
10
|
<p><%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %></p>
|
11
11
|
<% end %>
|
12
12
|
|
13
|
-
<%= f.input :password,
|
14
|
-
|
15
|
-
|
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" } %>
|
16
24
|
</div>
|
17
25
|
|
18
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.
|
@@ -51,9 +51,10 @@ af:
|
|
51
51
|
instruction: 'Jy kan jou rekening e-pos bevestig deur die onderstaande skakel:'
|
52
52
|
subject: Bevestigingsinstruksies
|
53
53
|
email_changed:
|
54
|
-
greeting:
|
55
|
-
message:
|
56
|
-
|
54
|
+
greeting:
|
55
|
+
message:
|
56
|
+
message_unconfirmed:
|
57
|
+
subject:
|
57
58
|
password_change:
|
58
59
|
greeting: Hallo %{recipient}!
|
59
60
|
message: Ons kontak jou om jou in kennis te stel dat jou wagwoord verander is.
|
@@ -107,6 +108,7 @@ af:
|
|
107
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."
|
108
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.
|
109
110
|
updated: Jou rekening was suksesvol opgedateer.
|
111
|
+
updated_but_not_signed_in:
|
110
112
|
sessions:
|
111
113
|
already_signed_out: Suksesvol uitgeteken.
|
112
114
|
new:
|
@@ -122,7 +124,7 @@ af:
|
|
122
124
|
sign_in: Teken aan
|
123
125
|
sign_in_with_provider: Teken aan met %{provider}
|
124
126
|
sign_up: Teken in
|
125
|
-
minimum_password_length:
|
127
|
+
minimum_password_length:
|
126
128
|
unlocks:
|
127
129
|
new:
|
128
130
|
resend_unlock_instructions: Stuur weer ontsluitingsinstruksies
|