anadea-identity 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +174 -0
  4. data/Rakefile +10 -0
  5. data/app/assets/images/facebook.png +0 -0
  6. data/app/assets/images/google_oauth2.png +0 -0
  7. data/app/assets/images/twitter.png +0 -0
  8. data/app/controllers/identity/base_controller.rb +5 -0
  9. data/app/controllers/identity/omniauth_callbacks_controller.rb +24 -0
  10. data/app/controllers/identity/users_controller.rb +58 -0
  11. data/app/models/identity/role.rb +16 -0
  12. data/app/models/identity/user.rb +47 -0
  13. data/app/views/devise/confirmations/new.html.erb +23 -0
  14. data/app/views/devise/mailer/confirmation_instructions.html.erb +6 -0
  15. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  16. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  17. data/app/views/devise/passwords/edit.html.erb +28 -0
  18. data/app/views/devise/passwords/new.html.erb +21 -0
  19. data/app/views/devise/registrations/edit.html.erb +34 -0
  20. data/app/views/devise/registrations/new.html.erb +28 -0
  21. data/app/views/devise/sessions/new.html.erb +31 -0
  22. data/app/views/devise/shared/_links.erb +25 -0
  23. data/app/views/devise/unlocks/new.html.erb +20 -0
  24. data/app/views/identity/users/edit.html.erb +70 -0
  25. data/app/views/identity/users/index.html.erb +55 -0
  26. data/config/locales/ca.yml +59 -0
  27. data/config/locales/de.yml +110 -0
  28. data/config/locales/en.yml +111 -0
  29. data/config/locales/es-AR.yml +51 -0
  30. data/config/locales/es-ES.yml +59 -0
  31. data/config/locales/es.yml +51 -0
  32. data/config/locales/fr.yml +51 -0
  33. data/config/locales/hu.yml +59 -0
  34. data/config/locales/it.yml +51 -0
  35. data/config/locales/nl.yml +59 -0
  36. data/config/locales/pl.yml +57 -0
  37. data/config/locales/pt-BR.yml +51 -0
  38. data/config/locales/ru.yml +56 -0
  39. data/config/locales/tr.yml +51 -0
  40. data/config/locales/zh-CN.yml +57 -0
  41. data/config/locales/zh-TW.yml +57 -0
  42. data/config/routes.rb +5 -0
  43. data/db/migrate/20150402142437_devise_create_identity_users.rb +42 -0
  44. data/db/migrate/20150402152859_rolify_create_identity_roles.rb +19 -0
  45. data/lib/anadea/identity.rb +1 -0
  46. data/lib/generators/identity/locales_generator.rb +8 -0
  47. data/lib/generators/identity/views_generator.rb +8 -0
  48. data/lib/identity.rb +50 -0
  49. data/lib/identity/admin/user.rb +89 -0
  50. data/lib/identity/devise_config.rb +31 -0
  51. data/lib/identity/engine.rb +21 -0
  52. data/lib/identity/version.rb +3 -0
  53. data/lib/identity/view_helper.rb +22 -0
  54. data/lib/tasks/whoami_tasks.rake +4 -0
  55. metadata +157 -0
@@ -0,0 +1,21 @@
1
+ <div class="row">
2
+ <div class="col-sm-6">
3
+ <%= bootstrap_devise_error_messages! %>
4
+ <div class="panel panel-default">
5
+ <div class="panel-heading">
6
+ <h4><%= t('.forgot_your_password', :default => 'Forgot your password?') %></h4>
7
+ </div>
8
+ <div class="panel-body">
9
+ <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post, role: "form" }) do |f| %>
10
+ <div class="form-group">
11
+ <%= f.label :email %>
12
+ <%= f.email_field :email, autofocus: true, class: "form-control" %>
13
+ </div>
14
+
15
+ <%= f.submit t('.send_me_reset_password_instructions', :default => "Send me reset password instructions"), class: "btn btn-primary" %>
16
+ <% end %>
17
+ </div>
18
+ </div>
19
+ <%= render "devise/shared/links" %>
20
+ </div>
21
+ </div>
@@ -0,0 +1,34 @@
1
+ <div class="row">
2
+ <div class="col-sm-6">
3
+ <%= bootstrap_devise_error_messages! %>
4
+ <div class="panel panel-default">
5
+ <div class="panel-heading">
6
+ <h4><%= t('.title', :resource => resource_class.model_name.human , :default => 'Edit #{resource_name.to_s.humanize}') %></h4>
7
+ </div>
8
+ <div class="panel-body">
9
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
10
+ <div class="form-group">
11
+ <%= f.label :email %>
12
+ <%= f.email_field :email, autofocus: true, class: "form-control" %>
13
+ </div>
14
+ <div class="form-group">
15
+ <%= f.label :password %> <i>(<%= t('.leave_blank_if_you_don_t_want_to_change_it', :default => "leave blank if you don't want to change it") %>)</i><br />
16
+ <%= f.password_field :password, :autocomplete => "off", class: "form-control" %>
17
+ </div>
18
+ <div class="form-group">
19
+ <%= f.label :password_confirmation %><br />
20
+ <%= f.password_field :password_confirmation, class: "form-control" %>
21
+ </div>
22
+ <div class="form-group">
23
+ <%= f.label :current_password %> <i>(<%= t('.we_need_your_current_password_to_confirm_your_changes', :default => 'we need your current password to confirm your changes') %>)</i>
24
+ <%= f.password_field :current_password, class: "form-control" %>
25
+ </div>
26
+ <%= f.submit t('.update', :default => "Update"), class: "btn btn-primary" %></div>
27
+ <% end %>
28
+ </div>
29
+
30
+ <p><%= t('.unhappy', :default => 'Unhappy') %>? <%= link_to t('.cancel_my_account', :default => "Cancel my account"), registration_path(resource_name), :data => { :confirm => t('.are_you_sure', :default => "Are you sure?") }, :method => :delete %>.</p>
31
+
32
+ <%= link_to "Back", :back %>
33
+ </div>
34
+ </div>
@@ -0,0 +1,28 @@
1
+ <div class="row">
2
+ <div class="col-sm-6">
3
+ <%= bootstrap_devise_error_messages! %>
4
+ <div class="panel panel-default">
5
+ <div class="panel-heading">
6
+ <h4><%= t('.sign_up', :default => "Sign up") %></h4>
7
+ </div>
8
+ <div class="panel-body">
9
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), html: { role: "form" }) do |f| %>
10
+ <div class="form-group">
11
+ <%= f.label :email %>
12
+ <%= f.email_field :email, autofocus: true, class: "form-control" %>
13
+ </div>
14
+ <div class="form-group">
15
+ <%= f.label :password %><br />
16
+ <%= f.password_field :password, class: "form-control" %>
17
+ </div>
18
+ <div class="form-group">
19
+ <%= f.label :password_confirmation %>
20
+ <%= f.password_field :password_confirmation, class: "form-control" %>
21
+ </div>
22
+ <%= f.submit t('.sign_up', :default => "Sign up"), class: "btn btn-primary" %>
23
+ <% end %>
24
+ </div>
25
+ </div>
26
+ <%= render "devise/shared/links" %>
27
+ </div>
28
+ </div>
@@ -0,0 +1,31 @@
1
+ <div class="row">
2
+ <div class="col-sm-6">
3
+ <div class="panel panel-default">
4
+ <div class="panel-heading">
5
+ <h4><%= t('.sign_in', :default => "Sign in") %></h4>
6
+ </div>
7
+ <div class="panel-body">
8
+ <%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { role: "form" }) do |f| %>
9
+ <div class="form-group">
10
+ <%= f.label :email %>
11
+ <%= f.email_field :email, autofocus: true, class: "form-control" %>
12
+ </div>
13
+ <div class="form-group">
14
+ <%= f.label :password %>
15
+ <%= f.password_field :password, autocomplete: "off", class: "form-control" %>
16
+ </div>
17
+ <% if devise_mapping.rememberable? %>
18
+ <div class="checkbox">
19
+ <label>
20
+ <%= f.check_box :remember_me %>
21
+ <%= f.label :remember_me %>
22
+ </label>
23
+ </div>
24
+ <% end %>
25
+ <%= f.submit t('.sign_in', :default => "Sign in"), class: "btn btn-primary" %>
26
+ <% end %>
27
+ </div>
28
+ </div>
29
+ <%= render "devise/shared/links" %>
30
+ </div>
31
+ </div>
@@ -0,0 +1,25 @@
1
+ <%- if controller_name != 'sessions' %>
2
+ <%= link_to t(".sign_in", :default => "Sign in"), new_session_path(resource_name) %><br />
3
+ <% end -%>
4
+
5
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
6
+ <%= link_to t(".sign_up", :default => "Sign up"), new_registration_path(resource_name) %><br />
7
+ <% end -%>
8
+
9
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
10
+ <%= link_to t(".forgot_your_password", :default => "Forgot your password?"), new_password_path(resource_name) %><br />
11
+ <% end -%>
12
+
13
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
14
+ <%= link_to t('.didn_t_receive_confirmation_instructions', :default => "Didn't receive confirmation instructions?"), new_confirmation_path(resource_name) %><br />
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
18
+ <%= link_to t('.didn_t_receive_unlock_instructions', :default => "Didn't receive unlock instructions?"), new_unlock_path(resource_name) %><br />
19
+ <% end -%>
20
+
21
+ <%- if devise_mapping.omniauthable? %>
22
+ <%- resource_class.omniauth_providers.each do |provider| %>
23
+ <%= link_to image_tag("#{provider.to_s}.png"), omniauth_authorize_path(resource_name, provider) %><br />
24
+ <% end -%>
25
+ <% end -%>
@@ -0,0 +1,20 @@
1
+ <div class="row">
2
+ <div class="col-sm-6">
3
+ <%= bootstrap_devise_error_messages! %>
4
+ <div class="panel panel-default">
5
+ <div class="panel-heading">
6
+ <h4><%= t('.resend_unlock_instructions', :default => "Resend unlock instructions") %></h4>
7
+ </div>
8
+ <div class="panel-body">
9
+ <%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post, html: { role: "form" } }) do |f| %>
10
+ <div class="form-group">
11
+ <%= f.label :email %>
12
+ <%= f.email_field :email, autofocus: true, class: "form-control" %>
13
+ </div>
14
+ <%= f.submit t('.resend_unlock_instructions', :default => "Resend unlock instructions"), class: "btn btn-primary"%>
15
+ <% end %>
16
+ </div>
17
+ </div>
18
+ <%= render "devise/shared/links" %>
19
+ </div>
20
+ </div>
@@ -0,0 +1,70 @@
1
+ <%= content_for(:title) { "Identity: Edit User #{resource.email}" } %>
2
+
3
+ <%= bootstrap_devise_error_messages! %>
4
+ <div class="row">
5
+ <div class="col-sm-6">
6
+ <h1>
7
+ Edit User <small><%= "#{resource.email} - id: #{resource.id}" %></small>
8
+ </h1>
9
+ <p><%= link_to "Back to Users", [Identity.admin_namespace, :users] %></p>
10
+
11
+ <%= form_for resource,
12
+ url: send("#{Identity.admin_namespace}_user_path", resource),
13
+ method: :patch,
14
+ html: { role: "form" } do |f| %>
15
+
16
+ <div class="form-group">
17
+ <%= f.label :email %>
18
+ <div class="row">
19
+ <div class="col-sm-6">
20
+ <%= f.email_field :email, class: "form-control" %>
21
+ </div>
22
+ </div>
23
+ </div>
24
+
25
+ <div class="form-group">
26
+ <%= f.label :password %>
27
+ <div class="row">
28
+ <div class="col-sm-6">
29
+ <%= f.password_field :password, class: "form-control" %>
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="form-group">
35
+ <%= f.label :password_confirmation %>
36
+ <div class="row">
37
+ <div class="col-sm-6">
38
+ <%= f.password_field :password_confirmation, class: "form-control" %>
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <% unless current_user.id == resource.id %>
44
+ <div class="form-group">
45
+ <div class="row">
46
+ <div class="col-sm-6">
47
+ <%= f.check_box :active %> <%= f.label :active, "Is active?" %>
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ <div class="form-group">
53
+ <div class="row">
54
+ <div class="col-sm-6">
55
+ <%= f.check_box Identity.admin_role %> <%= f.label Identity.admin_role, "Is #{Identity.admin_role}?" %>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ <% end %>
60
+
61
+ <div class="row">
62
+ <div class="col-sm-6">
63
+ <%= f.submit "Update User", class: "btn btn-danger" %>
64
+ </div>
65
+ </div>
66
+
67
+ <% end %>
68
+
69
+ </div>
70
+ </div>
@@ -0,0 +1,55 @@
1
+ <%= content_for(:title) { "Identity: Users Admin" } %>
2
+
3
+ <h1>Users <small>Admin</small></h1>
4
+ <p><%= link_to "Back to Application", '/' %></p>
5
+
6
+ <div class="text-center">
7
+ <p><%= page_entries_info resources %></p>
8
+ <%= paginate resources %>
9
+ </div>
10
+
11
+ <%= form_tag [Identity.admin_namespace, :users], method: 'get', html: {role: "form"} do %>
12
+ <p>
13
+ <%= text_field_tag :search, params[:search] %>
14
+ <%= submit_tag "Search", :name => nil, class: "btn btn-sm btn-primary" %>
15
+ <%= link_to "All", [Identity.admin_namespace, :users], {class: "btn btn-sm btn-link"} %>
16
+ </p>
17
+ <% end %>
18
+
19
+ <table class="table table-striped">
20
+ <tr>
21
+ <th>User ID</th>
22
+ <th>Email</th>
23
+ <th><%= Identity.admins_method %></th>
24
+ <th>Active</th>
25
+ <th>Sign In Count</th>
26
+ <th>Created At</th>
27
+ <th>Last Sign In</th>
28
+ <th>Last Sign In IP</th>
29
+ </tr>
30
+
31
+ <% resources.each do |user| %>
32
+
33
+ <tr>
34
+ <td><%= user.id %></td>
35
+ <td><%= link_to user.email, send("#{Identity.admin_namespace}_user_path", user) %></td>
36
+ <td><%= user.send(Identity.admin_predicate) ? "<b>yes</b>".html_safe : "no" %></td>
37
+ <td><%= user.active? ? "<b>yes</b>".html_safe : "no" %></td>
38
+ <td><%= user.sign_in_count %></td>
39
+ <td><%= time_ago_in_words(user.created_at) %></td>
40
+ <% unless user.last_sign_in_at.nil? %>
41
+ <td><%= time_ago_in_words(user.last_sign_in_at)%> ago</td>
42
+ <% else %>
43
+ <td>never</td>
44
+ <% end %>
45
+ <td><%= user.last_sign_in_ip %></td>
46
+ </tr>
47
+
48
+ <% end %>
49
+
50
+ </table>
51
+
52
+ <div class="text-center">
53
+ <p><%= page_entries_info resources %></p>
54
+ <%= paginate resources %>
55
+ </div>
@@ -0,0 +1,59 @@
1
+ ca:
2
+ devise:
3
+ confirmations:
4
+ new:
5
+ resend_confirmation_instructions: Reenviar instruccions de confirmació
6
+ mailer:
7
+ confirmation_instructions:
8
+ action: Confirmar el meu compte
9
+ greeting: Benvingut %{recipient}!
10
+ instruction: ! "Pots confirmar el correu electrònic del teu compte a través d'aquest enllaç:"
11
+ subject: Instruccions de confirmació
12
+ reset_password_instructions:
13
+ action: Canviar la meva contrasenya
14
+ greeting: Hola %{recipient}!
15
+ instruction: Algú ha sol·licitat un enllaç per a canviar la teva contrasenya, pots fer-ho amb el següent enllaç.
16
+ instruction_2: Si tu no ho has sol·licitat, si us plau ignora aquest email.
17
+ instruction_3: La teva contrasenya no serà canviada fins que accedeixis a l'enllaç i en creïs una nova.
18
+ subject: Instruccions per a regenerar la contrasenya
19
+ unlock_instructions:
20
+ action: Desbloquejar el meu compte
21
+ greeting: Hola %{recipient}!
22
+ instruction: ! 'Obre el següent enllaç per a desbloquejar el teu compte:'
23
+ message: El teu compte s'ha bloquejat a causa d'una quantitat excessiva d'intents fallits per a accedir-hi.
24
+ subject: Instruccions de desbloqueig
25
+ passwords:
26
+ new:
27
+ forgot_your_password: Has oblidat la teva contrasenya?
28
+ send_me_reset_password_instructions: Enviar les instruccions per a regenerar la meva contrasenya
29
+ edit:
30
+ change_your_password: Canviar la teva contrasenya
31
+ new_password: Nova contrasenya
32
+ confirm_new_password: Confirmar nova contrasenya
33
+ change_my_password: Canviar la meva contrasenya
34
+ registrations:
35
+ edit:
36
+ are_you_sure: Estàs segur?
37
+ cancel_my_account: Cancel·lar el meu compte
38
+ leave_blank_if_you_don_t_want_to_change_it: deixa'l en blanc si no el vols canviar
39
+ title: Editar %{resource}
40
+ we_need_your_current_password_to_confirm_your_changes: necessitem la teva contrasenya actual per a confirmar els canvis
41
+ update: Actualitzar
42
+ cancel_my_account: Cancel·lar el meu compte
43
+ unhappy: Descontent
44
+ new:
45
+ sign_up: Registrar-se
46
+ sessions:
47
+ new:
48
+ sign_in: Iniciar sessió
49
+ shared:
50
+ links:
51
+ didn_t_receive_confirmation_instructions: No has rebut les instruccions de confirmació?
52
+ didn_t_receive_unlock_instructions: No has rebut les instruccions de desbloqueig?
53
+ forgot_your_password: Has oblidat la teva contrasenya?
54
+ sign_in: Iniciar sessió
55
+ sign_in_with_provider: Iniciar sessió amb %{provider}
56
+ sign_up: Registrar-se
57
+ unlocks:
58
+ new:
59
+ resend_unlock_instructions: Reenviar instruccions de desbloqueig
@@ -0,0 +1,110 @@
1
+ de:
2
+ devise:
3
+ confirmations:
4
+ new:
5
+ resend_confirmation_instructions: Anleitung zur Bestätigung noch mal schicken
6
+ confirmed: Ihre Konto wurde erfolgreich bestätigt.
7
+ send_instructions: Sie erhalten ein wenigen Minuten eine E-Mail mit Anweisungen, wie Sie Ihr Konto bestätigen.
8
+ send_paranoid_instructions: Falls Ihre E-Mail-Adresse in unserer Datenbank existiert, werden Sie in wenigen Minuten eine E-Mail mit Anweisungen erhalten, wie Sie Ihr Konto bestätigen.
9
+ failure:
10
+ already_authenticated: "Sie sind schon angemeldet."
11
+ inactive: "Ihr Konto ist noch nicht aktiviert."
12
+ invalid: "Ungültige E-Mail-Adresse oder Passwort."
13
+ invalid_token: "Ungültiger Authentifikations-Schlüssel."
14
+ locked: "Ihr Konto ist gesperrt."
15
+ not_found_in_database: "Ungültige E-Mail-Adresse oder Passwort."
16
+ timeout: "Ihre Sitzung ist abgelaufen. Bitte melden sich erneut an, um fortzufahren."
17
+ unauthenticated: "Sie müssen sich anmelden oder registrieren, um fortfahren zu können."
18
+ unconfirmed: "Sie müssen Ihr Konto bestätigen, um fortfahren zu können."
19
+ mailer:
20
+ confirmation_instructions:
21
+ action: Mein Konto bestätigen
22
+ greeting: Willkommen %{recipient}!
23
+ instruction: ! 'Folgen Sie dem untenstehenden Link, um Ihr Konto zu bestätigen:'
24
+ subject: Anleitung zur Bestätigung Ihres Accounts
25
+ reset_password_instructions:
26
+ action: Passwort ändern
27
+ greeting: Hallo %{recipient}!
28
+ instruction: Jemand hat einen Link angefordert, um Ihr Passwort zu ändern, und Sie können das durch den unten aufgeführten Link tun.
29
+ instruction_2: Wenn Sie das nicht angefordert haben, bitte ignorieren Sie diese E-Mail.
30
+ instruction_3: Das Passwort wird nicht geändert bis Sie den obenstehenden Link abrufen, und ein neues Passwort bestimmen.
31
+ subject: Anleitung um das Passwort zurückzusetzten
32
+ unlock_instructions:
33
+ action: Mein Konto entsperren
34
+ greeting: Hallo %{recipient}!
35
+ instruction: ! 'Folgen Sie dem untenstehenden Link, um Ihr Konto zu entsperren:'
36
+ message: Ihr Konto wurde aufgrund einer großen Anzahl von fehlgeschlagenen Anmeldeversuchen gesperrt.
37
+ subject: Anleitung um Ihr Konto zu entsperren
38
+ omniauth_callbacks:
39
+ failure: "Sie konnten nicht über %{kind} authentifiziert werden, da \"%{reason}\"."
40
+ success: "Erfolgreich über %{kind} authentifiziert."
41
+ passwords:
42
+ new:
43
+ forgot_your_password: Haben Sie Ihr Passwort vergessen?
44
+ send_me_reset_password_instructions: Schicken Sie mir die Anleitung, mein Passwort zurückzusetzen
45
+ edit:
46
+ change_your_password: Passwort ändern
47
+ new_password: Neues Passwort
48
+ confirm_new_password: Neues Passwort bestätigen
49
+ change_my_password: Ändere mein Passwort
50
+ no_token: "Sie können diese Seite nicht ohne Link zum Zurücksetzen Ihres Passworts aufrufen. Wenn Sie Ihr Passwort zurücksetzen wollen, gehen Sie sicher, dass Sie die vollständige Adresse benutzt haben, die Sie mit der E-Mail erhalten haben."
51
+ send_instructions: "Sie werden eine E-Mail mit der Anleitung, wie Sie Ihr Passwort zurücksetzen können, in wenigen Minuten erhalten."
52
+ send_paranoid_instructions: "Falls Ihre E-Mail-Adresse in unserer Datenbank existiert, werden Sie in wenigen Minuten eine E-Mail mit einem Link zum Zurücksetzen Ihres Passworts erhalten."
53
+ updated: Ihr Passwort wurde erfolgreich geändert. Sie sind nun angemeldet.
54
+ updated_not_active: "Ihr Passwort wurde erfolgreich geändert."
55
+ registrations:
56
+ edit:
57
+ are_you_sure: Sind Sie sicher?
58
+ cancel_my_account: Konto löschen
59
+ leave_blank_if_you_don_t_want_to_change_it: freilassen, wenn Sie das nicht ändern wollen
60
+ title: ! '%{resource} bearbeiten'
61
+ we_need_your_current_password_to_confirm_your_changes: wir benötigen Ihr aktuelles Passwort, um die Änderung zu bestätigen
62
+ update: "Aktualisieren"
63
+ unhappy: "Unglücklich"
64
+ new:
65
+ sign_up: Registrieren
66
+ destroyed: "Auf Wiedersehen! Ihr Konto wurde erfolreich gekündigt. Wir hoffen Sie bald wiederzusehen."
67
+ signed_up: "Willkommen! Sie haben sich erfolgreich registriert."
68
+ signed_up_but_inactive: "Sie haben sich erfolgreich registriert. Aber wir konnten Sie nicht anmelden, da Ihr Konto noch nicht aktiviert ist."
69
+ signed_up_but_locked: "Sie haben sich erfolgreich registriert. Aber wir konnten Sie nicht anmelden, da Ihr Konto gesperrt ist."
70
+ signed_up_but_unconfirmed: "Eine Nachricht mit einem Aktivierungs-Link wurde an Ihre E-Mail-Adresse geschickt. Bitte öffnen Sie diesen Link, um Ihr Konto zu aktivieren."
71
+ update_needs_confirmation: "Ihr Konto wurde erfolgreich aktualisiert, aber wir müssen Ihre E-Mail-Adresse verifizieren. Bitte überprüfen Sie Ihre E-Mails und klicken auf den Bestätigungs-Link, um Ihre E-Mail-Adresse abschliessend zu bestätigen."
72
+ updated: "Ihr Konto wurde erfolgreich aktualisiert."
73
+ sessions:
74
+ signed_in: "Erfolgreich angemeldet."
75
+ signed_out: "Erfolgreich abgemeldet."
76
+ new:
77
+ sign_in: Anmelden
78
+ shared:
79
+ links:
80
+ didn_t_receive_confirmation_instructions: Keine Anleitung zur Bestätigung erhalten?
81
+ didn_t_receive_unlock_instructions: Keine Anleitung zum Entsperren erhalten?
82
+ forgot_your_password: Passwort vergessen?
83
+ sign_in: Anmelden
84
+ sign_in_with_provider: Mit %{provider} anmelden
85
+ sign_up: Registrieren
86
+ unlocks:
87
+ new:
88
+ resend_unlock_instructions: Anleitung zum Entsperren noch mal schicken
89
+ send_instructions: "Sie werden eine E-Mail mit der Anleitung, wie Sie Ihr Konto entsperren können, in wenigen Minuten erhalten."
90
+ send_paranoid_instructions: "Falls Ihr Konto existiert, werden Sie eine E-Mail mit der Anleitung, wie Sie Ihr Konto entsperren können, in wenigen Minuten erhalten."
91
+ unlocked: "Ihr Konto wurde erfolreich entsperrt. Bitte melden Sie sich an, um fortfahren zu können."
92
+ errors:
93
+ messages:
94
+ already_confirmed: "wurde schon bestätigt - bitte versuchen Sie sich anzumelden"
95
+ confirmation_period_expired: "muss innerhalb %{period} bestätigt werden - bitte fordern Sie den Link erneut an"
96
+ expired: "ist ausgelaufen - bitte fordern Sie den Link erneut an"
97
+ not_found: "nicht gefunden"
98
+ not_locked: "war nicht gesperrt"
99
+ not_saved:
100
+ one: "1 Fehler verhinderte, dass %{resource} gespeichert werden konnte:"
101
+ other: "%{count} Fehler verhinderten, dass %{resource} gespeichert werden konnte:"
102
+ activerecord:
103
+ models:
104
+ user: "Benutzer"
105
+ attributes:
106
+ user:
107
+ current_sign_in_at: "Angemeldet am"
108
+ email: "E-Mail"
109
+ password: "Passwort"
110
+ last_sign_in_at: "Zuletzt angemeldet am"