devise-security 0.14.3 → 0.16.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +123 -59
  3. data/app/controllers/devise/password_expired_controller.rb +11 -6
  4. data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
  5. data/app/views/devise/password_expired/show.html.erb +5 -5
  6. data/config/locales/by.yml +49 -0
  7. data/config/locales/cs.yml +41 -0
  8. data/config/locales/de.yml +13 -2
  9. data/config/locales/en.yml +13 -1
  10. data/config/locales/es.yml +10 -9
  11. data/config/locales/fa.yml +41 -0
  12. data/config/locales/fr.yml +1 -0
  13. data/config/locales/hi.yml +42 -0
  14. data/config/locales/it.yml +35 -4
  15. data/config/locales/ja.yml +2 -1
  16. data/config/locales/nl.yml +41 -0
  17. data/config/locales/pt.yml +41 -0
  18. data/config/locales/ru.yml +49 -0
  19. data/config/locales/tr.yml +1 -0
  20. data/config/locales/uk.yml +49 -0
  21. data/config/locales/zh_CN.yml +41 -0
  22. data/config/locales/zh_TW.yml +41 -0
  23. data/lib/devise-security.rb +6 -3
  24. data/lib/devise-security/controllers/helpers.rb +59 -50
  25. data/lib/devise-security/hooks/password_expirable.rb +2 -0
  26. data/lib/devise-security/hooks/session_limitable.rb +21 -11
  27. data/lib/devise-security/models/password_expirable.rb +5 -1
  28. data/lib/devise-security/models/secure_validatable.rb +15 -1
  29. data/lib/devise-security/models/session_limitable.rb +8 -1
  30. data/lib/devise-security/validators/password_complexity_validator.rb +4 -2
  31. data/lib/devise-security/version.rb +1 -1
  32. data/lib/generators/devise_security/install_generator.rb +3 -3
  33. data/lib/generators/templates/devise_security.rb +47 -0
  34. data/test/controllers/test_password_expired_controller.rb +83 -19
  35. data/test/controllers/test_security_question_controller.rb +16 -40
  36. data/test/dummy/app/assets/config/manifest.js +3 -0
  37. data/test/dummy/config/environments/test.rb +3 -13
  38. data/test/dummy/config/initializers/migration_class.rb +1 -8
  39. data/test/dummy/config/mongoid.yml +1 -1
  40. data/test/dummy/config/routes.rb +3 -3
  41. data/test/dummy/log/development.log +883 -0
  42. data/test/dummy/log/test.log +21689 -0
  43. data/test/integration/test_password_expirable_workflow.rb +53 -0
  44. data/test/orm/active_record.rb +4 -1
  45. data/test/orm/mongoid.rb +2 -1
  46. data/test/support/integration_helpers.rb +15 -33
  47. data/test/support/mongoid.yml +1 -1
  48. data/test/test_complexity_validator.rb +12 -0
  49. data/test/test_helper.rb +10 -3
  50. data/test/test_install_generator.rb +11 -1
  51. data/test/test_secure_validatable.rb +76 -0
  52. data/test/test_session_limitable.rb +17 -0
  53. data/{lib/generators/templates → test/tmp/config/initializers}/devise-security.rb +3 -0
  54. data/test/tmp/config/locales/devise.security_extension.by.yml +49 -0
  55. data/test/tmp/config/locales/devise.security_extension.cs.yml +41 -0
  56. data/test/tmp/config/locales/devise.security_extension.de.yml +39 -0
  57. data/test/tmp/config/locales/devise.security_extension.en.yml +41 -0
  58. data/test/tmp/config/locales/devise.security_extension.es.yml +30 -0
  59. data/test/tmp/config/locales/devise.security_extension.fa.yml +41 -0
  60. data/test/tmp/config/locales/devise.security_extension.fr.yml +30 -0
  61. data/test/tmp/config/locales/devise.security_extension.hi.yml +42 -0
  62. data/test/tmp/config/locales/devise.security_extension.it.yml +41 -0
  63. data/test/tmp/config/locales/devise.security_extension.ja.yml +30 -0
  64. data/test/tmp/config/locales/devise.security_extension.nl.yml +41 -0
  65. data/test/tmp/config/locales/devise.security_extension.pt.yml +41 -0
  66. data/test/tmp/config/locales/devise.security_extension.ru.yml +49 -0
  67. data/test/tmp/config/locales/devise.security_extension.tr.yml +18 -0
  68. data/test/tmp/config/locales/devise.security_extension.uk.yml +49 -0
  69. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +41 -0
  70. data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +41 -0
  71. metadata +145 -132
  72. data/.codeclimate.yml +0 -63
  73. data/.document +0 -5
  74. data/.gitignore +0 -43
  75. data/.mdlrc +0 -1
  76. data/.rubocop.yml +0 -64
  77. data/.ruby-version +0 -1
  78. data/.travis.yml +0 -39
  79. data/Appraisals +0 -35
  80. data/Gemfile +0 -10
  81. data/Rakefile +0 -27
  82. data/devise-security.gemspec +0 -50
  83. data/gemfiles/rails_4.2_stable.gemfile +0 -16
  84. data/gemfiles/rails_5.0_stable.gemfile +0 -15
  85. data/gemfiles/rails_5.1_stable.gemfile +0 -15
  86. data/gemfiles/rails_5.2_stable.gemfile +0 -15
  87. data/gemfiles/rails_6.0_beta.gemfile +0 -15
  88. data/lib/devise-security/orm/active_record.rb +0 -20
  89. data/lib/devise-security/schema.rb +0 -66
  90. data/test/dummy/app/models/.gitkeep +0 -0
@@ -3,6 +3,7 @@ de:
3
3
  messages:
4
4
  taken_in_past: 'wurde bereits in der Vergangenheit verwendet.'
5
5
  equal_to_current_password: 'darf nicht dem aktuellen Passwort entsprechen.'
6
+ equal_to_email: 'darf nicht dem E-mail entsprechen.'
6
7
  password_complexity:
7
8
  digit:
8
9
  one: muss mindestens eine Ziffer enthalten
@@ -11,8 +12,8 @@ de:
11
12
  one: muss mindestens einen Kleinbuchstaben enthalten
12
13
  other: muss mindestens %{count} Kleinbuchstaben enthalten
13
14
  symbol:
14
- one: muss mindestens ein Satzzeichen enthalten
15
- other: muss mindestens %{count} Satzzeichen enthalten
15
+ one: muss mindestens ein Sonderzeichen enthalten
16
+ other: muss mindestens %{count} Sonderzeichen enthalten
16
17
  upper:
17
18
  one: muss mindestens einen Großbuchstaben enthalten
18
19
  other: muss mindestens %{count} Großbuchstaben enthalten
@@ -20,9 +21,19 @@ de:
20
21
  invalid_captcha: 'Die Captcha-Eingabe ist nicht gültig.'
21
22
  paranoid_verify:
22
23
  code_required: 'Bitte geben Sie den Code ein, den unser Support-Team zur Verfügung gestellt hat.'
24
+ show:
25
+ submit_verification_code: Bestätigungscode eingeben
26
+ verification_code: Bestätigungscode
27
+ submit: Bestätigen
23
28
  password_expired:
24
29
  updated: 'Das neue Passwort wurde übernommen.'
25
30
  change_required: 'Ihr Passwort ist abgelaufen. Bitte vergeben Sie ein neues Passwort.'
31
+ show:
32
+ renew_your_password: Vergeben Sie ein neues Passwort
33
+ current_password: Aktuelles Passwort
34
+ new_password: Neues Passwort
35
+ new_password_confirmation: Passwort bestätigen
36
+ change_my_password: Passwort ändern
26
37
  failure:
27
38
  session_limited: 'Ihre Anmeldedaten wurden in einem anderen Browser genutzt. Bitte melden Sie sich erneut an, um in diesem Browser fortzufahren.'
28
39
  expired: 'Ihr Account ist aufgrund zu langer Inaktivität abgelaufen. Bitte kontaktieren Sie den Administrator.'
@@ -3,6 +3,7 @@ en:
3
3
  messages:
4
4
  taken_in_past: 'was used previously.'
5
5
  equal_to_current_password: 'must be different than the current password.'
6
+ equal_to_email: 'must be different than the email.'
6
7
  password_complexity:
7
8
  digit:
8
9
  one: must contain at least one digit
@@ -12,7 +13,7 @@ en:
12
13
  other: must contain at least %{count} lower-case letters
13
14
  symbol:
14
15
  one: must contain at least one punctuation mark or symbol
15
- other: must contain at least %{count} puncutation marks or symbols
16
+ other: must contain at least %{count} punctuation marks or symbols
16
17
  upper:
17
18
  one: must contain at least one upper-case letter
18
19
  other: must contain at least %{count} upper-case letters
@@ -21,9 +22,20 @@ en:
21
22
  invalid_security_question: 'The security question answer was invalid.'
22
23
  paranoid_verify:
23
24
  code_required: 'Please enter the code our support team provided'
25
+ paranoid_verification_code:
26
+ show:
27
+ submit_verification_code: Submit verification code
28
+ verification_code: Verification code
29
+ submit: Submit
24
30
  password_expired:
25
31
  updated: 'Your new password is saved.'
26
32
  change_required: 'Your password is expired. Please renew your password.'
33
+ show:
34
+ renew_your_password: Renew your password
35
+ current_password: Current password
36
+ new_password: New password
37
+ new_password_confirmation: Confirm new password
38
+ change_my_password: Change my password
27
39
  failure:
28
40
  session_limited: 'Your login credentials were used in another browser. Please sign in again to continue in this browser.'
29
41
  expired: 'Your account has expired due to inactivity. Please contact the site administrator.'
@@ -1,29 +1,30 @@
1
1
  es:
2
2
  errors:
3
3
  messages:
4
- taken_in_past: 'la contraseña fue usada previamente, favor elegir otra.'
4
+ taken_in_past: 'la contraseña fue usada previamente, por favor elige otra.'
5
5
  equal_to_current_password: 'tiene que ser diferente a la contraseña actual.'
6
+ equal_to_email: 'tiene que ser diferente al email'
6
7
  password_complexity:
7
8
  digit:
8
- one: tiene que contener al menos un digito
9
- other: tiene que contener al menos %{count} digitos
9
+ one: tiene que contener al menos un dígito
10
+ other: tiene que contener al menos %{count} dígitos
10
11
  lower:
11
- one: tiene que contener al menos un minúscula
12
+ one: tiene que contener al menos una minúscula
12
13
  other: tiene que contener al menos %{count} minúsculas
13
14
  symbol:
14
15
  one: tiene que contener al menos un signo de puntuación
15
16
  other: tiene que contener al menos %{count} signos de puntuación
16
17
  upper:
17
- one: tiene que contener al menos un mayúscula
18
+ one: tiene que contener al menos una mayúscula
18
19
  other: tiene que contener al menos %{count} mayúsculas
19
20
  devise:
20
21
  invalid_captcha: 'El captcha ingresado es inválido.'
21
- invalid_security_question: 'La respuesta a la pregunta de suguridad fue incorrecta.'
22
+ invalid_security_question: 'La respuesta a la pregunta de seguridad fue incorrecta.'
22
23
  paranoid_verify:
23
24
  code_required: 'Por favor ingrese el código provisto por nuestro equipo de soporte'
24
25
  password_expired:
25
- updated: 'Su nueva contraña ha sido guardada.'
26
- change_required: 'Su contraña ha expirado. Por favor renueve su contraseña.'
26
+ updated: 'Su nueva contraseña ha sido guardada.'
27
+ change_required: 'Su contraseña ha expirado. Por favor renueve su contraseña.'
27
28
  failure:
28
- session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en éste navegador.'
29
+ session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en este navegador.'
29
30
  expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
@@ -0,0 +1,41 @@
1
+ fa:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'قبلا استفاده شده است'
5
+ equal_to_current_password: 'باید متفاوت با رمز عبور فعلی باشد'
6
+ equal_to_email: 'باید متفاوت از ایمیل باشد'
7
+ password_complexity:
8
+ digit:
9
+ one: باید حداقل یک رقم داشته باشد
10
+ other: باید حداقل %{count} عدد داشته باشد
11
+ lower:
12
+ one: باید حداقل شامل یک حرف کوچک باشد
13
+ other: باید حداقل %{count} حروف کوچک داشته باشد
14
+ symbol:
15
+ one: باید حداقل دارای یک علامت یا کارکتر خاص باشد
16
+ other: باید حداقل دارای %{count} علائم یا کارکتر های خاص باشد
17
+ upper:
18
+ one: باید حداقل یک حرف بزرگ داشته باشد
19
+ other: باید حداقل %{count} حروف بزرگ داشته باشد
20
+ devise:
21
+ invalid_captcha: 'اطلاعات وارد شده در کپچا نامعتبر بود'
22
+ invalid_security_question: 'پاسخ سوال امنیتی نامعتبر بود'
23
+ paranoid_verify:
24
+ code_required: 'لطفاً کدی را که تیم پشتیبانی ما ارائه کرده است وارد کنید'
25
+ paranoid_verification_code:
26
+ show:
27
+ submit_verification_code: ارسال کد تاییدیه
28
+ verification_code: کد تاییدیه
29
+ submit: ارسال
30
+ password_expired:
31
+ updated: 'رمز جدید شما ذخیره شده است'
32
+ change_required: 'رمز عبور شما منقضی شده است ،لطفاً رمز خود را تمدید کنید'
33
+ show:
34
+ renew_your_password: ساختن رمز عبور جدید
35
+ current_password: رمز عبور جاری
36
+ new_password: رمز عبور جدید
37
+ new_password_confirmation: تکرار رمز جدید
38
+ change_my_password: تغییر رمز عبور
39
+ failure:
40
+ session_limited: 'از اطلاعات ورود شما در مرورگر دیگری استفاده شده است، برای ادامه در این مرورگر لطفاً دوباره وارد سیستم شوید'
41
+ expired: 'حساب شما به دلیل عدم فعالیت منقضی شده است، لطفاً با مدیر سایت تماس بگیرید.'
@@ -3,6 +3,7 @@ fr:
3
3
  messages:
4
4
  taken_in_past: a été utilisé trop récemment. Veuillez en choisir un autre
5
5
  equal_to_current_password: doit être différent de l'actuel
6
+ equal_to_email: doit être différent de l'e-mail
6
7
  password_complexity:
7
8
  digit:
8
9
  one: doit contenir au moins un chiffre
@@ -0,0 +1,42 @@
1
+
2
+ hi:
3
+ errors:
4
+ messages:
5
+ taken_in_past: यह पासवर्ड, आपके द्वारा पूर्व मे प्रयोग किया जा चुका है
6
+ equal_to_current_password: नया पासवर्ड, वर्तमान पासवर्ड से भिन्न होना चाहिए
7
+ equal_to_email: ईमेल से अलग होना चाहिए
8
+ password_complexity:
9
+ digit:
10
+ one: एक अंक होना चाहिए
11
+ other: कम से कम %{count} अंक होने चाहिए
12
+ lower:
13
+ one: एक लोअर-केस अक्षर होना चाहिए
14
+ other: कम से कम %{count} अक्षर होने चाहिए
15
+ symbol:
16
+ one: एक चिन्ह होना चाहिए
17
+ other: कम से कम %{count} चिन्ह होने चाहिए
18
+ upper:
19
+ one: एक अपर-केस अक्षर होना चाहिए
20
+ other: कम से कम %{count} अपर-केस अक्षर होने चाहिए
21
+ devise:
22
+ invalid_captcha: अमान्य कॅप्टचा
23
+ invalid_security_question: अमान्य सुरक्षा उत्तर
24
+ paranoid_verify:
25
+ code_required: सपोर्ट टीम द्वारा दिया गया कोड डाले
26
+ paranoid_verification_code:
27
+ show:
28
+ submit_verification_code: वेरिफिकेशन कोड डाले
29
+ verification_code: वेरिफिकेशन कोड
30
+ submit: सबमिट
31
+ password_expired:
32
+ updated: पासवर्ड अद्यतन किया गया
33
+ change_required: पासवर्ड अमान्य हो चुका, पासवर्ड बदले
34
+ show:
35
+ renew_your_password: पासवर्ड बदले
36
+ current_password: वर्तमान पासवर्ड
37
+ new_password: नया पासवर्ड
38
+ new_password_confirmation: नए पासवर्ड की पुष्टि करें
39
+ change_my_password: पासवर्ड बदले
40
+ failure:
41
+ session_limited: जानकारी, दूसरे ब्राउज़र में उपयोग की गयी थी जारी रखने फिर से साइन-इन करे
42
+ expired: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
@@ -1,10 +1,41 @@
1
1
  it:
2
2
  errors:
3
3
  messages:
4
- taken_in_past: "e' stata gia' utilizzata in passato!"
4
+ taken_in_past: "è stata gia' utilizzata in passato!"
5
5
  equal_to_current_password: " deve essere differente dalla password corrente!"
6
+ equal_to_email: "deve essere differente dall'email"
7
+ password_complexity:
8
+ digit:
9
+ one: deve contenere almeno una cifra
10
+ other: deve contenere almeno %{count} cifre
11
+ lower:
12
+ one: deve contenere almeno una lettera minuscola
13
+ other: deve contenere almeno %{count} lettere minuscole
14
+ symbol:
15
+ one: deve contenere almeno un simbolo di punteggiatura o un simbolo speciale
16
+ other: deve contenere almeno %{count} tra simboli di punteggiatura e simboli speciali
17
+ upper:
18
+ one: deve contenere almeno una lettera maiuscola
19
+ other: deve contenere almeno %{count} lettere maiuscole
6
20
  devise:
7
- invalid_captcha: "Il captcha inserito non e' valido!"
21
+ invalid_captcha: "Il captcha inserito non è valido!"
22
+ invalid_security_question: 'La risposta alla domanda di sicurezza non è valida.'
23
+ paranoid_verify:
24
+ code_required: 'Inserisci il codice fornito dal nostro team di supporto'
25
+ paranoid_verification_code:
26
+ show:
27
+ submit_verification_code: Invia codice di verifica
28
+ verification_code: Codice di verifica
29
+ submit: Invia
8
30
  password_expired:
9
- updated: "La tua nuova password e' stata salvata."
10
- change_required: "La tua password e' scaduta. Si prega di rinnovarla!"
31
+ updated: "La tua nuova password è stata salvata."
32
+ change_required: "La tua password è scaduta. Si prega di rinnovarla!"
33
+ show:
34
+ renew_your_password: Rinnova la tua password
35
+ current_password: Password attuale
36
+ new_password: Nuova password
37
+ new_password_confirmation: Conferma nuova password
38
+ change_my_password: Cambia la mia password
39
+ failure:
40
+ session_limited: "Hai effettuato l accesso in un altro browser. Fai nuovamente l accesso per connetterti in questo."
41
+ expired: 'Il tuo account è stato bloccato per inattività. Contatta l amministratore del sito.'
@@ -3,6 +3,7 @@ ja:
3
3
  messages:
4
4
  taken_in_past: 'は既に使われています。'
5
5
  equal_to_current_password: 'は現在のパスワードと異なるものである必要があります。'
6
+ equal_to_email: 'メールとは異なる必要があります'
6
7
  password_complexity:
7
8
  digit:
8
9
  one: は最低1つの数字を含む必要があります。
@@ -18,7 +19,7 @@ ja:
18
19
  other: は最低%{count}つの大文字英字を含む必要があります。
19
20
  devise:
20
21
  invalid_captcha: 'キャプチャ入力が不正です。'
21
- invalid_security_question: 'セキュリティ質問に対すつ回答が不正です。'
22
+ invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
22
23
  paranoid_verify:
23
24
  code_required: 'サポートチームに提供された認証コードを入力してください。'
24
25
  password_expired:
@@ -0,0 +1,41 @@
1
+ nl:
2
+ errors:
3
+ messages:
4
+ taken_in_past: is eerder gebruikt.
5
+ equal_to_current_password: moet verschillen van het huidige wachtwoord.
6
+ equal_to_email: moet anders zijn dan de e-mail
7
+ password_complexity:
8
+ digit:
9
+ one: moet minimaal 1 cijfer bevatten
10
+ other: moet minimaal %{count} cijfers bevatten
11
+ lower:
12
+ one: moet minimaal 1 kleine letter bevatten
13
+ other: moet minimaal %{count} kleine letters bevatten
14
+ symbol:
15
+ one: moet minimaal 1 leesteken of symbool bevatten
16
+ other: moet minimaal %{count} leestekens of symbolen bevatten
17
+ upper:
18
+ one: moet minimaal 1 hoofdletter bevatten
19
+ other: moet minimaal %{count} hoofdletters bevatten
20
+ devise:
21
+ invalid_captcha: De captcha invoer was ongeldig.
22
+ invalid_security_question: Het antwoord op de beveiligingsvraag was niet correct.
23
+ paranoid_verify:
24
+ code_required: Voer de aangeleverde code in
25
+ paranoid_verification_code:
26
+ show:
27
+ submit_verification_code: Verstuur verificatie code
28
+ verification_code: Verificatie code
29
+ submit: Verstuur
30
+ password_expired:
31
+ updated: Het nieuwe wachtwoord is opgeslagen.
32
+ change_required: Het wachtwoord is verlopen. Vernieuw je wachtwoord.
33
+ show:
34
+ renew_your_password: Vernieuw je wachtwoord
35
+ current_password: Huidig wachtwoord
36
+ new_password: Nieuw wachtwoord
37
+ new_password_confirmation: Bevestig het nieuwe wachtwoord
38
+ change_my_password: Verander mijn wachtwoord
39
+ failure:
40
+ session_limited: Je login is in een andere browser gebruikt. Log hier opnieuw in.
41
+ expired: Je account is verlopen. Neem contact op met de site beheerder.
@@ -0,0 +1,41 @@
1
+ pt:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'foi usada anteriormente.'
5
+ equal_to_current_password: 'deve ser diferente da senha atual.'
6
+ equal_to_email: 'deve ser diferente do e-mail.'
7
+ password_complexity:
8
+ digit:
9
+ one: deve conter ao menos um dígito
10
+ other: deve conter ao menos %{count} dígitos
11
+ lower:
12
+ one: deve conter ao menos uma letra minúscula
13
+ other: deve conter ao menos %{count} letras minúsculas
14
+ symbol:
15
+ one: deve conter ao menos um símbolo
16
+ other: deve conter ao menos %{count} símbolos
17
+ upper:
18
+ one: deve conter ao menos uma letra maiúscula
19
+ other: deve conter ao menos %{count} letras maiúsculas
20
+ devise:
21
+ invalid_captcha: 'O captcha está errado.'
22
+ invalid_security_question: 'A resposta da pergunta de segurança está errada.'
23
+ paranoid_verify:
24
+ code_required: 'Por favor entre o código que a equipe de suporte enviou'
25
+ paranoid_verification_code:
26
+ show:
27
+ submit_verification_code: Enviar código de verificação
28
+ verification_code: Código de verificação
29
+ submit: Enviar
30
+ password_expired:
31
+ updated: 'A nova senha foi salva.'
32
+ change_required: 'Sua senha expirou. Renove sua senha por favor.'
33
+ show:
34
+ renew_your_password: Renove sua senha
35
+ current_password: Senha atual
36
+ new_password: Senha nova
37
+ new_password_confirmation: Confirmar senha nova
38
+ change_my_password: Mudar minha senha
39
+ failure:
40
+ session_limited: 'Seu login foi utilizado em outro local. Faça o login novamente para continuar.'
41
+ expired: 'Sua conta expirou por inatividade. Por favor contate o administrador do site.'
@@ -0,0 +1,49 @@
1
+ ru:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'уже ранее использовался.'
5
+ equal_to_current_password: 'должен отличаться от текущего пароля.'
6
+ equal_to_email: 'должно отличаться от адреса электронной почты.'
7
+ password_complexity:
8
+ digit:
9
+ one: 'должен содержать хотя бы одну цифру'
10
+ few: 'должен содержать хотя бы %{count} цифры'
11
+ many: 'должен содержать хотя бы %{count} цифр'
12
+ other: 'должен содержать хотя бы %{count} цифры'
13
+ lower:
14
+ one: 'должен содержать хотя бы одну строчную букву'
15
+ few: 'должен содержать хотя бы %{count} строчные буквы'
16
+ many: 'должен содержать хотя бы %{count} строчных букв'
17
+ other: 'должен содержать хотя бы %{count} строчных букв'
18
+ symbol:
19
+ one: 'должен содержать хотя бы один знак пунктуации или символ'
20
+ few: 'должен содержать хотя бы %{count} знака пунктуации или символа'
21
+ many: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
22
+ other: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
23
+ upper:
24
+ one: 'должен содержать хотя бы одну прописную букву'
25
+ few: 'должен содержать хотя бы %{count} прописные буквы'
26
+ many: 'должен содержать хотя бы %{count} прописных букв'
27
+ other: 'должен содержать хотя бы %{count} прописных букв'
28
+ devise:
29
+ invalid_captcha: 'Введен неправильный код капчи.'
30
+ invalid_security_question: 'Ответ на секретный вопрос был неверным.'
31
+ paranoid_verify:
32
+ code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
33
+ paranoid_verification_code:
34
+ show:
35
+ submit_verification_code: Ввод кода подтверждения
36
+ verification_code: Код подверждения
37
+ submit: Отправить
38
+ password_expired:
39
+ updated: 'Ваш новый пароль сохранен.'
40
+ change_required: 'Ваш пароль устарел. Пожалуйста, установите новый.'
41
+ show:
42
+ renew_your_password: Смена пароля
43
+ current_password: Текущий пароль
44
+ new_password: Новый пароль
45
+ new_password_confirmation: Подтвердите новый пароль
46
+ change_my_password: Поменять пароль
47
+ failure:
48
+ session_limited: 'Ваши параметры входа используются в другом браузере. Пожалуйста, авторизуйтесь снова, чтобы продолжить в этом браузере.'
49
+ expired: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
@@ -3,6 +3,7 @@ tr:
3
3
  messages:
4
4
  taken_in_past: "daha önce kullanıldı."
5
5
  equal_to_current_password: "mevcut paroladan farklı olmalı."
6
+ equal_to_email: "e-postadan farklı olmalı."
6
7
  password_format: "büyük, küçük harfler ve sayılar içermeli."
7
8
  devise:
8
9
  invalid_captcha: "Captcha hatalı."
@@ -0,0 +1,49 @@
1
+ uk:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'раніше використовувався.'
5
+ equal_to_current_password: 'має відрізнятися від поточного паролю.'
6
+ equal_to_email: 'має відрізнятися від електронної пошти.'
7
+ password_complexity:
8
+ digit:
9
+ one: 'повинен включати хоча б одну цифру'
10
+ few: 'повинен включати хоча б %{count} цифри'
11
+ many: 'повинен включати хоча б %{count} цифр'
12
+ other: 'повинен включати хоча б %{count} цифри'
13
+ lower:
14
+ one: 'повинен включати хоча б одну малу букву'
15
+ few: 'повинен включати хоча б %{count} малі букви'
16
+ many: 'повинен включати хоча б %{count} малих букв'
17
+ other: 'повинен включати хоча б %{count} малі букви'
18
+ symbol:
19
+ one: 'повинен включати хоча б один розділовий знак або символ'
20
+ few: 'повинен включати хоча б %{count} розділові знаки або символи'
21
+ many: 'повинен включати хоча б %{count} розділових знаків або символів'
22
+ other: 'повинен включати хоча б %{count} розділові знаки або символи'
23
+ upper:
24
+ one: 'повинен включати хоча б одну прописну букву'
25
+ few: 'повинен включати хоча б %{count} прописні букви'
26
+ many: 'повинен включати хоча б %{count} прописних букв'
27
+ other: 'повинен включати хоча б %{count} прописні букви'
28
+ devise:
29
+ invalid_captcha: 'Введення капчі недійсне.'
30
+ invalid_security_question: 'Неправильна відповідь на секретне питання.'
31
+ paranoid_verify:
32
+ code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
33
+ paranoid_verification_code:
34
+ show:
35
+ submit_verification_code: Відправити код підтвердження
36
+ verification_code: Код підтвердження
37
+ submit: Відправити
38
+ password_expired:
39
+ updated: 'Ваш новий пароль збережено.'
40
+ change_required: 'Ваш пароль застарілий. Будь ласка, оновіть пароль.'
41
+ show:
42
+ renew_your_password: Оновити свій пароль
43
+ current_password: Теперішній пароль
44
+ new_password: Новий пароль
45
+ new_password_confirmation: Підтвердити новий пароль
46
+ change_my_password: Змінити пароль
47
+ failure:
48
+ session_limited: 'Ваші облікові дані були використані в іншому браузері. Будь ласка, авторизуйтесь знову щоб продовжити в цьому браузері.'
49
+ expired: "Ваш аккаунт застарів через неактивність. Будь ласка, зв'яжіться з адміністратором."