devise-security 0.15.0 → 0.18.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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +3 -1
  3. data/README.md +43 -24
  4. data/app/controllers/devise/paranoid_verification_code_controller.rb +26 -12
  5. data/app/controllers/devise/password_expired_controller.rb +23 -10
  6. data/config/locales/bg.yml +42 -0
  7. data/config/locales/by.yml +2 -0
  8. data/config/locales/cs.yml +6 -0
  9. data/config/locales/de.yml +4 -0
  10. data/config/locales/en.yml +3 -1
  11. data/config/locales/es.yml +13 -0
  12. data/config/locales/fa.yml +2 -0
  13. data/config/locales/fr.yml +15 -2
  14. data/config/locales/hi.yml +22 -20
  15. data/config/locales/it.yml +2 -0
  16. data/config/locales/ja.yml +13 -0
  17. data/config/locales/nl.yml +2 -0
  18. data/config/locales/pt.yml +2 -0
  19. data/config/locales/ru.yml +2 -0
  20. data/config/locales/tr.yml +26 -1
  21. data/config/locales/uk.yml +2 -0
  22. data/config/locales/zh_CN.yml +2 -0
  23. data/config/locales/zh_TW.yml +2 -0
  24. data/lib/devise-security/controllers/helpers.rb +25 -13
  25. data/lib/devise-security/hooks/expirable.rb +3 -3
  26. data/lib/devise-security/hooks/paranoid_verification.rb +1 -3
  27. data/lib/devise-security/hooks/password_expirable.rb +1 -3
  28. data/lib/devise-security/hooks/session_limitable.rb +10 -6
  29. data/lib/devise-security/models/compatibility/active_record_patch.rb +4 -3
  30. data/lib/devise-security/models/compatibility/mongoid_patch.rb +3 -2
  31. data/lib/devise-security/models/database_authenticatable_patch.rb +18 -10
  32. data/lib/devise-security/models/expirable.rb +6 -5
  33. data/lib/devise-security/models/paranoid_verification.rb +2 -2
  34. data/lib/devise-security/models/password_archivable.rb +3 -3
  35. data/lib/devise-security/models/secure_validatable.rb +62 -11
  36. data/lib/devise-security/orm/mongoid.rb +1 -1
  37. data/lib/devise-security/patches.rb +14 -8
  38. data/lib/devise-security/routes.rb +2 -3
  39. data/lib/devise-security/validators/password_complexity_validator.rb +53 -26
  40. data/lib/devise-security/version.rb +1 -1
  41. data/lib/devise-security.rb +15 -6
  42. data/lib/generators/devise_security/install_generator.rb +4 -6
  43. data/{test/tmp/config/initializers/devise-security.rb → lib/generators/templates/devise_security.rb} +9 -1
  44. data/test/controllers/test_paranoid_verification_code_controller.rb +133 -0
  45. data/test/controllers/test_password_expired_controller.rb +122 -99
  46. data/test/controllers/test_security_question_controller.rb +19 -37
  47. data/test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb +7 -0
  48. data/test/dummy/app/controllers/overrides/password_expired_controller.rb +17 -0
  49. data/test/dummy/app/controllers/widgets_controller.rb +3 -0
  50. data/test/dummy/app/models/application_user_record.rb +2 -1
  51. data/test/dummy/app/models/mongoid/confirmable_fields.rb +2 -0
  52. data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +4 -3
  53. data/test/dummy/app/models/mongoid/expirable_fields.rb +2 -0
  54. data/test/dummy/app/models/mongoid/lockable_fields.rb +2 -0
  55. data/test/dummy/app/models/mongoid/mappings.rb +4 -2
  56. data/test/dummy/app/models/mongoid/omniauthable_fields.rb +2 -0
  57. data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +2 -0
  58. data/test/dummy/app/models/mongoid/password_archivable_fields.rb +2 -0
  59. data/test/dummy/app/models/mongoid/password_expirable_fields.rb +2 -0
  60. data/test/dummy/app/models/mongoid/recoverable_fields.rb +2 -0
  61. data/test/dummy/app/models/mongoid/registerable_fields.rb +4 -2
  62. data/test/dummy/app/models/mongoid/rememberable_fields.rb +2 -0
  63. data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +2 -0
  64. data/test/dummy/app/models/mongoid/security_questionable_fields.rb +2 -0
  65. data/test/dummy/app/models/mongoid/session_limitable_fields.rb +2 -0
  66. data/test/dummy/app/models/mongoid/timeoutable_fields.rb +2 -0
  67. data/test/dummy/app/models/mongoid/trackable_fields.rb +2 -0
  68. data/test/dummy/app/models/mongoid/validatable_fields.rb +2 -0
  69. data/test/dummy/app/models/paranoid_verification_user.rb +26 -0
  70. data/test/dummy/app/models/password_expired_user.rb +26 -0
  71. data/test/dummy/app/models/user.rb +5 -5
  72. data/test/dummy/app/models/widget.rb +1 -3
  73. data/test/dummy/app/mongoid/one_user.rb +5 -5
  74. data/test/dummy/app/mongoid/user_on_engine.rb +2 -2
  75. data/test/dummy/app/mongoid/user_on_main_app.rb +2 -2
  76. data/test/dummy/app/mongoid/user_with_validations.rb +3 -3
  77. data/test/dummy/app/mongoid/user_without_email.rb +7 -4
  78. data/test/dummy/config/application.rb +3 -7
  79. data/test/dummy/config/boot.rb +1 -1
  80. data/test/dummy/config/environment.rb +1 -1
  81. data/test/dummy/config/environments/test.rb +4 -13
  82. data/test/dummy/config/initializers/devise.rb +1 -5
  83. data/test/dummy/config/initializers/migration_class.rb +1 -8
  84. data/test/dummy/config/locales/en.yml +10 -0
  85. data/test/dummy/config/mongoid.yml +1 -1
  86. data/test/dummy/config/routes.rb +3 -1
  87. data/test/dummy/config.ru +1 -1
  88. data/test/dummy/db/migrate/20120508165529_create_tables.rb +5 -5
  89. data/test/dummy/lib/shared_expirable_columns.rb +1 -0
  90. data/test/dummy/lib/shared_security_questions_fields.rb +1 -0
  91. data/test/dummy/lib/shared_user.rb +17 -6
  92. data/test/dummy/lib/shared_user_without_omniauth.rb +12 -3
  93. data/test/dummy/lib/shared_verification_fields.rb +1 -0
  94. data/test/dummy/log/test.log +44592 -1151
  95. data/test/i18n_test.rb +22 -0
  96. data/test/integration/test_paranoid_verification_code_workflow.rb +53 -0
  97. data/test/integration/test_password_expirable_workflow.rb +2 -6
  98. data/test/integration/test_session_limitable_workflow.rb +5 -3
  99. data/test/orm/active_record.rb +7 -7
  100. data/test/orm/mongoid.rb +2 -1
  101. data/test/support/integration_helpers.rb +10 -22
  102. data/test/support/mongoid.yml +1 -1
  103. data/test/test_compatibility.rb +2 -0
  104. data/test/test_complexity_validator.rb +247 -37
  105. data/test/test_database_authenticatable_patch.rb +146 -0
  106. data/test/test_helper.rb +11 -12
  107. data/test/test_install_generator.rb +2 -2
  108. data/test/test_paranoid_verification.rb +8 -9
  109. data/test/test_password_archivable.rb +34 -11
  110. data/test/test_password_expirable.rb +27 -27
  111. data/test/test_secure_validatable.rb +284 -50
  112. data/test/test_secure_validatable_overrides.rb +185 -0
  113. data/test/test_session_limitable.rb +9 -9
  114. data/{lib/generators/templates/devise-security.rb → test/tmp/config/initializers/devise_security.rb} +9 -1
  115. data/test/tmp/config/locales/devise.security_extension.by.yml +50 -0
  116. data/test/tmp/config/locales/devise.security_extension.cs.yml +46 -0
  117. data/test/tmp/config/locales/devise.security_extension.de.yml +4 -0
  118. data/test/tmp/config/locales/devise.security_extension.en.yml +3 -1
  119. data/test/tmp/config/locales/devise.security_extension.es.yml +22 -9
  120. data/test/tmp/config/locales/devise.security_extension.fa.yml +2 -0
  121. data/test/tmp/config/locales/devise.security_extension.fr.yml +15 -2
  122. data/test/tmp/config/locales/devise.security_extension.hi.yml +43 -0
  123. data/test/tmp/config/locales/devise.security_extension.it.yml +2 -0
  124. data/test/tmp/config/locales/devise.security_extension.ja.yml +13 -0
  125. data/test/tmp/config/locales/devise.security_extension.nl.yml +2 -0
  126. data/test/tmp/config/locales/devise.security_extension.pt.yml +2 -0
  127. data/test/tmp/config/locales/devise.security_extension.ru.yml +2 -0
  128. data/test/tmp/config/locales/devise.security_extension.tr.yml +26 -1
  129. data/test/tmp/config/locales/devise.security_extension.uk.yml +2 -0
  130. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +2 -0
  131. data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +42 -0
  132. metadata +65 -45
  133. data/lib/devise-security/orm/active_record.rb +0 -20
  134. data/lib/devise-security/patches/confirmations_controller_captcha.rb +0 -23
  135. data/lib/devise-security/patches/confirmations_controller_security_question.rb +0 -26
  136. data/lib/devise-security/patches/passwords_controller_captcha.rb +0 -22
  137. data/lib/devise-security/patches/passwords_controller_security_question.rb +0 -25
  138. data/lib/devise-security/patches/registrations_controller_captcha.rb +0 -35
  139. data/lib/devise-security/patches/sessions_controller_captcha.rb +0 -26
  140. data/lib/devise-security/patches/unlocks_controller_captcha.rb +0 -22
  141. data/lib/devise-security/patches/unlocks_controller_security_question.rb +0 -25
  142. data/lib/devise-security/schema.rb +0 -66
  143. data/test/dummy/app/controllers/foos_controller.rb +0 -0
  144. data/test/dummy/app/models/secure_user.rb +0 -9
  145. data/test/dummy/lib/shared_user_without_email.rb +0 -28
@@ -0,0 +1,46 @@
1
+ cs:
2
+ errors:
3
+ messages:
4
+ taken_in_past: bylo již použito v minulosti.
5
+ equal_to_current_password: se musí lišit od aktuálního hesla.
6
+ equal_to_email: musí být jiný než e-mail.
7
+ password_complexity:
8
+ digit:
9
+ one: musí obsahovat alespoň jednu číslici
10
+ few: musí obsahovat alespoň %{count} číslice
11
+ other: musí obsahovat alespoň %{count} číslice
12
+ lower:
13
+ one: musí obsahovat alespoň jedno malé písmeno
14
+ few: musí obsahovat alespoň %{count} malé písmena
15
+ other: musí obsahovat alespoň %{count} malé písmena
16
+ symbol:
17
+ one: musí obsahovat alespoň jedno interpunkční znaménko nebo symbol
18
+ few: musí obsahovat alespoň %{count} interpunkční znaménka nebo symboly
19
+ other: musí obsahovat alespoň %{count} interpunkční znaménka nebo symboly
20
+ upper:
21
+ one: musí obsahovat alespoň jedno velké písmeno
22
+ few: musí obsahovat alespoň %{count} velké písmena
23
+ other: musí obsahovat alespoň %{count} velké písmena
24
+ devise:
25
+ invalid_captcha: Chybná captcha.
26
+ invalid_security_question: Chybná odpověď na bezpečnostní otázku.
27
+ paranoid_verify:
28
+ code_required: Zadejte kód, který poskytla naše podpora
29
+ paranoid_verification_code:
30
+ updated: Ověřovací kód přijat
31
+ show:
32
+ submit_verification_code: Odeslat ověřovací kód
33
+ verification_code: Ověřovací kód
34
+ submit: Odeslat
35
+ password_expired:
36
+ updated: Vaše nové heslo bylo uloženo.
37
+ change_required: Platnost Vašeho hesla vypršela. Prosím, obnovte si jej.
38
+ show:
39
+ renew_your_password: Obnovit heslo
40
+ current_password: Současné heslo
41
+ new_password: Nové heslo
42
+ new_password_confirmation: Potvrďte nové heslo
43
+ change_my_password: Změnit moje heslo
44
+ failure:
45
+ session_limited: Vaše přihlašovací údaje byly použity v jiném prohlížeči. Chcete-li pokračovat v tomto prohlížeči, znovu se přihlaste.
46
+ expired: Platnost Vašeho účtu vypršela z důvodu nečinnosti. Obraťte se na správce webu.
@@ -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
@@ -18,8 +19,11 @@ de:
18
19
  other: muss mindestens %{count} Großbuchstaben enthalten
19
20
  devise:
20
21
  invalid_captcha: 'Die Captcha-Eingabe ist nicht gültig.'
22
+ invalid_security_question: 'Die Antwort auf die Sicherheitsfrage war ungültig.'
21
23
  paranoid_verify:
22
24
  code_required: 'Bitte geben Sie den Code ein, den unser Support-Team zur Verfügung gestellt hat.'
25
+ paranoid_verification_code:
26
+ updated: Bestätigungscode akzeptiert
23
27
  show:
24
28
  submit_verification_code: Bestätigungscode eingeben
25
29
  verification_code: Bestätigungscode
@@ -3,10 +3,11 @@ 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
9
- other: must contain at least %{count} numerals
10
+ other: must contain at least %{count} digits
10
11
  lower:
11
12
  one: must contain at least one lower-case letter
12
13
  other: must contain at least %{count} lower-case letters
@@ -22,6 +23,7 @@ en:
22
23
  paranoid_verify:
23
24
  code_required: 'Please enter the code our support team provided'
24
25
  paranoid_verification_code:
26
+ updated: Verification code accepted
25
27
  show:
26
28
  submit_verification_code: Submit verification code
27
29
  verification_code: Verification code
@@ -1,29 +1,42 @@
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'
25
+ paranoid_verification_code:
26
+ updated: Se acepta el código de verificación
27
+ show:
28
+ submit_verification_code: Envíe el código de verificación
29
+ verification_code: Código de verificación
30
+ submit: Entregar
24
31
  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.'
32
+ updated: 'Su nueva contraseña ha sido guardada.'
33
+ change_required: 'Su contraseña ha expirado. Por favor renueve su contraseña.'
34
+ show:
35
+ renew_your_password: Renueve su contraseña
36
+ current_password: Actual contraseña
37
+ new_password: Nueva contraseña
38
+ new_password_confirmation: Confirmar nueva contraseña
39
+ change_my_password: Cambiar mi contraseña
27
40
  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.'
41
+ 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
42
  expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
@@ -3,6 +3,7 @@ fa:
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: باید حداقل یک رقم داشته باشد
@@ -22,6 +23,7 @@ fa:
22
23
  paranoid_verify:
23
24
  code_required: 'لطفاً کدی را که تیم پشتیبانی ما ارائه کرده است وارد کنید'
24
25
  paranoid_verification_code:
26
+ updated: کد تأیید پذیرفته شد
25
27
  show:
26
28
  submit_verification_code: ارسال کد تاییدیه
27
29
  verification_code: کد تاییدیه
@@ -3,13 +3,14 @@ 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
9
10
  other: doit contenir au moins %{count} chiffres
10
11
  lower:
11
- one: doit contenir au moins une lettre miniscule
12
- other: doit contenir au moins %{count} lettres miniscules
12
+ one: doit contenir au moins une lettre minuscule
13
+ other: doit contenir au moins %{count} lettres minuscules
13
14
  symbol:
14
15
  one: doit contenir au moins un signe de ponctuation
15
16
  other: doit contenir au moins %{count} signes de ponctuation
@@ -21,9 +22,21 @@ fr:
21
22
  invalid_security_question: La réponse à la question de sécurité est invalide
22
23
  paranoid_verify:
23
24
  code_required: Veuillez entrer le code fourni par notre équipe de support
25
+ paranoid_verification_code:
26
+ updated: Code de vérification accepté
27
+ show:
28
+ submit_verification_code: Soumettre le code de vérification
29
+ verification_code: Code de vérification
30
+ submit: Soumettre
24
31
  password_expired:
25
32
  updated: Votre nouveau mot de passe est enregistré
26
33
  change_required: Votre mot de passe a expiré. Veuillez en choisir un autre
34
+ show:
35
+ renew_your_password: Renouveler votre mot de passe
36
+ current_password: Mot de passe actuel
37
+ new_password: Nouveau mot de passe
38
+ new_password_confirmation: Confirmer le nouveau mot de passe
39
+ change_my_password: Changer mon mot de passe
27
40
  failure:
28
41
  session_limited: Vos identifiants de connexion ont été utilisés dans un autre navigateur. Veuillez vous reconnecter pour continuer dans ce navigateur
29
42
  expired: Votre compte a expiré pour cause d'inactivité. Veuillez contacter l'administrateur du site
@@ -0,0 +1,43 @@
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
+ updated: सत्यापन कोड स्वीकार किया गया
28
+ show:
29
+ submit_verification_code: वेरिफिकेशन कोड डाले
30
+ verification_code: वेरिफिकेशन कोड
31
+ submit: सबमिट
32
+ password_expired:
33
+ updated: पासवर्ड अद्यतन किया गया
34
+ change_required: पासवर्ड अमान्य हो चुका, पासवर्ड बदले
35
+ show:
36
+ renew_your_password: पासवर्ड बदले
37
+ current_password: वर्तमान पासवर्ड
38
+ new_password: नया पासवर्ड
39
+ new_password_confirmation: नए पासवर्ड की पुष्टि करें
40
+ change_my_password: पासवर्ड बदले
41
+ failure:
42
+ session_limited: जानकारी, दूसरे ब्राउज़र में उपयोग की गयी थी जारी रखने फिर से साइन-इन करे
43
+ expired: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
@@ -3,6 +3,7 @@ it:
3
3
  messages:
4
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"
6
7
  password_complexity:
7
8
  digit:
8
9
  one: deve contenere almeno una cifra
@@ -22,6 +23,7 @@ it:
22
23
  paranoid_verify:
23
24
  code_required: 'Inserisci il codice fornito dal nostro team di supporto'
24
25
  paranoid_verification_code:
26
+ updated: Codice di verifica accettato
25
27
  show:
26
28
  submit_verification_code: Invia codice di verifica
27
29
  verification_code: Codice di verifica
@@ -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つの数字を含む必要があります。
@@ -21,9 +22,21 @@ ja:
21
22
  invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
22
23
  paranoid_verify:
23
24
  code_required: 'サポートチームに提供された認証コードを入力してください。'
25
+ paranoid_verification_code:
26
+ updated: 確認コードを受け入れました
27
+ show:
28
+ submit_verification_code: 確認コードを送信する
29
+ verification_code: 検証コード
30
+ submit: 参加する
24
31
  password_expired:
25
32
  updated: '新しいパスワードが保存されました。'
26
33
  change_required: 'パスワードが期限切れです。パスワードを新しく設定してください。'
34
+ show:
35
+ renew_your_password: パスワードを更新する
36
+ current_password: 現在のパスワード
37
+ new_password: 新しいパスワード
38
+ new_password_confirmation: 新しいパスワードを確認
39
+ change_my_password: パスワードを変更する
27
40
  failure:
28
41
  session_limited: '他のブラウザでログインされました。このブラウザで続ける場合は、もう一度サインインしてください。'
29
42
  expired: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
@@ -3,6 +3,7 @@ nl:
3
3
  messages:
4
4
  taken_in_past: is eerder gebruikt.
5
5
  equal_to_current_password: moet verschillen van het huidige wachtwoord.
6
+ equal_to_email: moet anders zijn dan de e-mail
6
7
  password_complexity:
7
8
  digit:
8
9
  one: moet minimaal 1 cijfer bevatten
@@ -22,6 +23,7 @@ nl:
22
23
  paranoid_verify:
23
24
  code_required: Voer de aangeleverde code in
24
25
  paranoid_verification_code:
26
+ updated: Verificatiecode geaccepteerd
25
27
  show:
26
28
  submit_verification_code: Verstuur verificatie code
27
29
  verification_code: Verificatie code
@@ -3,6 +3,7 @@ pt:
3
3
  messages:
4
4
  taken_in_past: 'foi usada anteriormente.'
5
5
  equal_to_current_password: 'deve ser diferente da senha atual.'
6
+ equal_to_email: 'deve ser diferente do e-mail.'
6
7
  password_complexity:
7
8
  digit:
8
9
  one: deve conter ao menos um dígito
@@ -22,6 +23,7 @@ pt:
22
23
  paranoid_verify:
23
24
  code_required: 'Por favor entre o código que a equipe de suporte enviou'
24
25
  paranoid_verification_code:
26
+ updated: Código de verificação aceito
25
27
  show:
26
28
  submit_verification_code: Enviar código de verificação
27
29
  verification_code: Código de verificação
@@ -3,6 +3,7 @@ ru:
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: 'должен содержать хотя бы одну цифру'
@@ -30,6 +31,7 @@ ru:
30
31
  paranoid_verify:
31
32
  code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
32
33
  paranoid_verification_code:
34
+ updated: Код подтверждения принят
33
35
  show:
34
36
  submit_verification_code: Ввод кода подтверждения
35
37
  verification_code: Код подверждения
@@ -3,15 +3,40 @@ tr:
3
3
  messages:
4
4
  taken_in_past: "daha önce kullanıldı."
5
5
  equal_to_current_password: "mevcut paroladan farklı olmalı."
6
- password_format: "büyük, küçük harfler ve sayılar içermeli."
6
+ equal_to_email: "e-postadan farklı olmalı."
7
+ password_complexity:
8
+ digit:
9
+ one: en az bir rakam içermelidir
10
+ other: en az %{count} basamak içermelidir
11
+ lower:
12
+ one: en az bir küçük harf içermelidir
13
+ other: en az %{count} küçük harf içermelidir
14
+ symbol:
15
+ one: en az bir noktalama işareti veya sembolü içermelidir
16
+ other: en az %{count} noktalama işareti veya sembolü içermelidir
17
+ upper:
18
+ one: en az bir büyük harf içermelidir
19
+ other: en az %{count} büyük harf içermelidir
7
20
  devise:
8
21
  invalid_captcha: "Captcha hatalı."
9
22
  invalid_security_question: "Güvenlik sorusunun cevabı yanlış."
10
23
  paranoid_verify:
11
24
  code_required: "Destek ekibimizden aldığınız kodu girin."
25
+ paranoid_verification_code:
26
+ updated: Doğrulama kodu kabul edildi
27
+ show:
28
+ submit_verification_code: Doğrulama kodunu gönder
29
+ verification_code: Doğrulama kodu
30
+ submit: Gönder
12
31
  password_expired:
13
32
  updated: "Yeni parolanız kaydedildi."
14
33
  change_required: "Parolanızın geçerlilik süresi dolmuş. Lütfen parolanızı yenileyin."
34
+ show:
35
+ renew_your_password: Şifrenizi yenileyin
36
+ current_password: Mevcut Şifre
37
+ new_password: Yeni Şifre
38
+ new_password_confirmation: Yeni şifreyi onayla
39
+ change_my_password: Şifremi Değiştir
15
40
  failure:
16
41
  session_limited: 'Hesabınıza başka bir tarayıcıdan giriş yapılmış. Lütfen devam etmek için yeniden giriş yapın.'
17
42
  expired: 'Hesabınız aktif olarak kullanılmadığı için artık geçerli değil. Lütfen yönetici ile irtibata geçin.'
@@ -3,6 +3,7 @@ uk:
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: 'повинен включати хоча б одну цифру'
@@ -30,6 +31,7 @@ uk:
30
31
  paranoid_verify:
31
32
  code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
32
33
  paranoid_verification_code:
34
+ updated: Код підтвердження прийнято
33
35
  show:
34
36
  submit_verification_code: Відправити код підтвердження
35
37
  verification_code: Код підтвердження
@@ -3,6 +3,7 @@ zh_CN:
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个数字
@@ -22,6 +23,7 @@ zh_CN:
22
23
  paranoid_verify:
23
24
  code_required: '请输入我们支持团队提供的代码'
24
25
  paranoid_verification_code:
26
+ updated: 接受验证码
25
27
  show:
26
28
  submit_verification_code: 提交验证码
27
29
  verification_code: 验证码
@@ -0,0 +1,42 @@
1
+ zh_TW:
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
+ updated: 接受驗證碼
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: '你的帳號因過久沒使用而已經過期,請洽網站管理員。'