devise-security 0.12.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +3 -1
  3. data/README.md +199 -65
  4. data/app/controllers/devise/paranoid_verification_code_controller.rb +28 -12
  5. data/app/controllers/devise/password_expired_controller.rb +34 -10
  6. data/app/views/devise/paranoid_verification_code/show.html.erb +4 -4
  7. data/app/views/devise/password_expired/show.html.erb +6 -6
  8. data/config/locales/bg.yml +42 -0
  9. data/config/locales/by.yml +50 -0
  10. data/config/locales/cs.yml +46 -0
  11. data/config/locales/de.yml +33 -7
  12. data/config/locales/en.yml +26 -1
  13. data/config/locales/es.yml +31 -6
  14. data/config/locales/fa.yml +42 -0
  15. data/config/locales/fr.yml +42 -0
  16. data/config/locales/hi.yml +43 -0
  17. data/config/locales/it.yml +36 -4
  18. data/config/locales/ja.yml +42 -0
  19. data/config/locales/nl.yml +42 -0
  20. data/config/locales/pt.yml +42 -0
  21. data/config/locales/ru.yml +50 -0
  22. data/config/locales/tr.yml +42 -0
  23. data/config/locales/uk.yml +50 -0
  24. data/config/locales/zh_CN.yml +42 -0
  25. data/config/locales/zh_TW.yml +42 -0
  26. data/lib/devise-security/controllers/helpers.rb +74 -51
  27. data/lib/devise-security/hooks/expirable.rb +6 -4
  28. data/lib/devise-security/hooks/paranoid_verification.rb +3 -3
  29. data/lib/devise-security/hooks/password_expirable.rb +5 -3
  30. data/lib/devise-security/hooks/session_limitable.rb +31 -14
  31. data/lib/devise-security/models/active_record/old_password.rb +5 -0
  32. data/lib/devise-security/models/compatibility/active_record_patch.rb +41 -0
  33. data/lib/devise-security/models/compatibility/mongoid_patch.rb +32 -0
  34. data/lib/devise-security/models/compatibility.rb +8 -15
  35. data/lib/devise-security/models/database_authenticatable_patch.rb +20 -10
  36. data/lib/devise-security/models/expirable.rb +14 -7
  37. data/lib/devise-security/models/mongoid/old_password.rb +21 -0
  38. data/lib/devise-security/models/paranoid_verification.rb +4 -2
  39. data/lib/devise-security/models/password_archivable.rb +19 -8
  40. data/lib/devise-security/models/password_expirable.rb +103 -48
  41. data/lib/devise-security/models/secure_validatable.rb +69 -12
  42. data/lib/devise-security/models/security_questionable.rb +2 -0
  43. data/lib/devise-security/models/session_limitable.rb +19 -2
  44. data/lib/devise-security/orm/mongoid.rb +7 -0
  45. data/lib/devise-security/patches/controller_captcha.rb +2 -0
  46. data/lib/devise-security/patches/controller_security_question.rb +3 -1
  47. data/lib/devise-security/patches.rb +16 -8
  48. data/lib/devise-security/rails.rb +2 -0
  49. data/lib/devise-security/routes.rb +4 -3
  50. data/lib/devise-security/validators/password_complexity_validator.rb +62 -0
  51. data/lib/devise-security/version.rb +3 -1
  52. data/lib/devise-security.rb +23 -11
  53. data/lib/generators/devise_security/install_generator.rb +6 -6
  54. data/lib/generators/templates/devise_security.rb +52 -0
  55. data/test/{test_captcha_controller.rb → controllers/test_captcha_controller.rb} +2 -0
  56. data/test/controllers/test_paranoid_verification_code_controller.rb +133 -0
  57. data/test/controllers/test_password_expired_controller.rb +164 -0
  58. data/test/controllers/test_security_question_controller.rb +66 -0
  59. data/test/dummy/Rakefile +3 -1
  60. data/test/dummy/app/assets/config/manifest.js +3 -0
  61. data/test/dummy/app/controllers/application_controller.rb +2 -0
  62. data/test/dummy/app/controllers/captcha/sessions_controller.rb +2 -0
  63. data/test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb +7 -0
  64. data/test/dummy/app/controllers/overrides/password_expired_controller.rb +17 -0
  65. data/test/dummy/app/controllers/security_question/unlocks_controller.rb +2 -0
  66. data/test/dummy/app/controllers/widgets_controller.rb +9 -0
  67. data/test/dummy/app/models/application_record.rb +10 -2
  68. data/test/dummy/app/models/application_user_record.rb +12 -0
  69. data/test/dummy/app/models/captcha_user.rb +7 -2
  70. data/test/dummy/app/models/mongoid/confirmable_fields.rb +15 -0
  71. data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +18 -0
  72. data/test/dummy/app/models/mongoid/expirable_fields.rb +13 -0
  73. data/test/dummy/app/models/mongoid/lockable_fields.rb +15 -0
  74. data/test/dummy/app/models/mongoid/mappings.rb +15 -0
  75. data/test/dummy/app/models/mongoid/omniauthable_fields.rb +13 -0
  76. data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +12 -0
  77. data/test/dummy/app/models/mongoid/password_archivable_fields.rb +11 -0
  78. data/test/dummy/app/models/mongoid/password_expirable_fields.rb +12 -0
  79. data/test/dummy/app/models/mongoid/recoverable_fields.rb +13 -0
  80. data/test/dummy/app/models/mongoid/registerable_fields.rb +21 -0
  81. data/test/dummy/app/models/mongoid/rememberable_fields.rb +12 -0
  82. data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +13 -0
  83. data/test/dummy/app/models/mongoid/security_questionable_fields.rb +15 -0
  84. data/test/dummy/app/models/mongoid/session_limitable_fields.rb +12 -0
  85. data/test/dummy/app/models/mongoid/timeoutable_fields.rb +11 -0
  86. data/test/dummy/app/models/mongoid/trackable_fields.rb +16 -0
  87. data/test/dummy/app/models/mongoid/validatable_fields.rb +9 -0
  88. data/test/dummy/app/models/paranoid_verification_user.rb +26 -0
  89. data/test/dummy/app/models/password_expired_user.rb +26 -0
  90. data/test/dummy/app/models/security_question_user.rb +9 -4
  91. data/test/dummy/app/models/user.rb +16 -1
  92. data/test/dummy/app/models/widget.rb +4 -0
  93. data/test/dummy/app/mongoid/admin.rb +31 -0
  94. data/test/dummy/app/mongoid/one_user.rb +58 -0
  95. data/test/dummy/app/mongoid/shim.rb +25 -0
  96. data/test/dummy/app/mongoid/user_on_engine.rb +41 -0
  97. data/test/dummy/app/mongoid/user_on_main_app.rb +41 -0
  98. data/test/dummy/app/mongoid/user_with_validations.rb +37 -0
  99. data/test/dummy/app/mongoid/user_without_email.rb +38 -0
  100. data/test/dummy/config/application.rb +13 -11
  101. data/test/dummy/config/boot.rb +3 -1
  102. data/test/dummy/config/environment.rb +3 -1
  103. data/test/dummy/config/environments/test.rb +6 -13
  104. data/test/dummy/config/initializers/devise.rb +6 -3
  105. data/test/dummy/config/initializers/migration_class.rb +3 -6
  106. data/test/dummy/config/locales/en.yml +10 -0
  107. data/test/dummy/config/mongoid.yml +6 -0
  108. data/test/dummy/config/routes.rb +8 -3
  109. data/test/dummy/config.ru +3 -1
  110. data/test/dummy/db/migrate/20120508165529_create_tables.rb +17 -6
  111. data/test/dummy/db/migrate/20150402165590_add_verification_columns.rb +2 -0
  112. data/test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb +2 -0
  113. data/test/dummy/db/migrate/20160320162345_add_security_questions_fields.rb +2 -0
  114. data/test/dummy/db/migrate/20180318103603_add_expireable_columns.rb +2 -0
  115. data/test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb +2 -0
  116. data/test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb +2 -0
  117. data/test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb +2 -0
  118. data/test/dummy/db/migrate/20180319114023_add_widget.rb +2 -0
  119. data/test/dummy/lib/shared_expirable_columns.rb +15 -0
  120. data/test/dummy/lib/shared_security_questions_fields.rb +17 -0
  121. data/test/dummy/lib/shared_user.rb +43 -0
  122. data/test/dummy/lib/shared_user_with_password_verification.rb +13 -0
  123. data/test/dummy/lib/shared_user_without_omniauth.rb +24 -0
  124. data/test/dummy/lib/shared_verification_fields.rb +16 -0
  125. data/test/dummy/log/test.log +45240 -0
  126. data/test/i18n_test.rb +22 -0
  127. data/test/integration/test_paranoid_verification_code_workflow.rb +53 -0
  128. data/test/integration/test_password_expirable_workflow.rb +53 -0
  129. data/test/integration/test_session_limitable_workflow.rb +69 -0
  130. data/test/orm/active_record.rb +15 -0
  131. data/test/orm/mongoid.rb +13 -0
  132. data/test/support/integration_helpers.rb +35 -0
  133. data/test/support/mongoid.yml +6 -0
  134. data/test/test_compatibility.rb +15 -0
  135. data/test/test_complexity_validator.rb +282 -0
  136. data/test/test_database_authenticatable_patch.rb +146 -0
  137. data/test/test_helper.rb +41 -9
  138. data/test/test_install_generator.rb +20 -3
  139. data/test/test_paranoid_verification.rb +10 -9
  140. data/test/test_password_archivable.rb +37 -13
  141. data/test/test_password_expirable.rb +72 -9
  142. data/test/test_secure_validatable.rb +289 -55
  143. data/test/test_secure_validatable_overrides.rb +185 -0
  144. data/test/test_session_limitable.rb +57 -0
  145. data/test/tmp/config/initializers/devise_security.rb +52 -0
  146. data/test/tmp/config/locales/devise.security_extension.by.yml +50 -0
  147. data/test/tmp/config/locales/devise.security_extension.cs.yml +46 -0
  148. data/test/tmp/config/locales/devise.security_extension.de.yml +42 -0
  149. data/test/tmp/config/locales/devise.security_extension.en.yml +42 -0
  150. data/test/tmp/config/locales/devise.security_extension.es.yml +42 -0
  151. data/test/tmp/config/locales/devise.security_extension.fa.yml +42 -0
  152. data/test/tmp/config/locales/devise.security_extension.fr.yml +42 -0
  153. data/test/tmp/config/locales/devise.security_extension.hi.yml +43 -0
  154. data/test/tmp/config/locales/devise.security_extension.it.yml +42 -0
  155. data/test/tmp/config/locales/devise.security_extension.ja.yml +42 -0
  156. data/test/tmp/config/locales/devise.security_extension.nl.yml +42 -0
  157. data/test/tmp/config/locales/devise.security_extension.pt.yml +42 -0
  158. data/test/tmp/config/locales/devise.security_extension.ru.yml +50 -0
  159. data/test/tmp/config/locales/devise.security_extension.tr.yml +42 -0
  160. data/test/tmp/config/locales/devise.security_extension.uk.yml +50 -0
  161. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +42 -0
  162. data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +42 -0
  163. metadata +290 -124
  164. data/.circleci/config.yml +0 -41
  165. data/.document +0 -5
  166. data/.gitignore +0 -40
  167. data/.rubocop.yml +0 -63
  168. data/.ruby-version +0 -1
  169. data/.travis.yml +0 -25
  170. data/Appraisals +0 -19
  171. data/Gemfile +0 -3
  172. data/Rakefile +0 -28
  173. data/devise-security.gemspec +0 -44
  174. data/gemfiles/rails_4.1_stable.gemfile +0 -8
  175. data/gemfiles/rails_4.2_stable.gemfile +0 -8
  176. data/gemfiles/rails_5.0_stable.gemfile +0 -8
  177. data/gemfiles/rails_5.1_stable.gemfile +0 -8
  178. data/gemfiles/rails_5.2_rc1.gemfile +0 -8
  179. data/lib/devise-security/models/old_password.rb +0 -4
  180. data/lib/devise-security/orm/active_record.rb +0 -18
  181. data/lib/devise-security/patches/confirmations_controller_captcha.rb +0 -21
  182. data/lib/devise-security/patches/confirmations_controller_security_question.rb +0 -24
  183. data/lib/devise-security/patches/passwords_controller_captcha.rb +0 -20
  184. data/lib/devise-security/patches/passwords_controller_security_question.rb +0 -23
  185. data/lib/devise-security/patches/registrations_controller_captcha.rb +0 -33
  186. data/lib/devise-security/patches/sessions_controller_captcha.rb +0 -24
  187. data/lib/devise-security/patches/unlocks_controller_captcha.rb +0 -20
  188. data/lib/devise-security/patches/unlocks_controller_security_question.rb +0 -23
  189. data/lib/devise-security/schema.rb +0 -64
  190. data/lib/generators/templates/devise-security.rb +0 -38
  191. data/test/dummy/app/controllers/foos_controller.rb +0 -0
  192. data/test/dummy/app/models/.gitkeep +0 -0
  193. data/test/dummy/app/models/secure_user.rb +0 -3
  194. data/test/test_password_expired_controller.rb +0 -44
  195. data/test/test_security_question_controller.rb +0 -84
@@ -0,0 +1,50 @@
1
+ by:
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} малыx літары'
16
+ many: 'павінен утрымліваць хоць %{count} малыx літары'
17
+ other: 'павінен утрымліваць хоць %{count} малыx літары'
18
+ symbol:
19
+ one: 'павінен утрымліваць хоць адзін знак пунктуацыі або сімвал'
20
+ few: 'павінен утрымліваць хоць %{count} знака пунктуацыі або сімвала'
21
+ many: 'павінен утрымліваць хоць %{count} знака пунктуацыі або сімвала'
22
+ other: 'павінен утрымліваць хоць %{count} знака пунктуацыі або сімвала'
23
+ upper:
24
+ one: 'павінен утрымліваць хоць адну вялікую літару'
25
+ few: 'павінен утрымліваць хоць %{count} вялікіx літары'
26
+ many: 'павінен утрымліваць хоць %{count} вялікіx літары'
27
+ other: 'павінен утрымліваць хоць %{count} вялікіx літары'
28
+ devise:
29
+ invalid_captcha: 'Уведзены няправільны код капчы.'
30
+ invalid_security_question: 'Адказ на сакрэтнае пытанне быў няправільны.'
31
+ paranoid_verify:
32
+ code_required: 'Калі ласка, увядзіце код, атрыманы ад нашай каманды падтрымкі'
33
+ paranoid_verification_code:
34
+ updated: Код спраўджання прыняты
35
+ show:
36
+ submit_verification_code: 'Увод кода пацверджання'
37
+ verification_code: 'Код пацверджання'
38
+ submit: 'Адправіць'
39
+ password_expired:
40
+ updated: 'Ваш новы пароль захаваны.'
41
+ change_required: 'Ваш пароль састарэў. Калі ласка, усталюйце новы.'
42
+ show:
43
+ renew_your_password: 'Змена пароля'
44
+ current_password: 'Сучасны пароль'
45
+ new_password: 'Новы пароль'
46
+ new_password_confirmation: 'Пацвердзіце новы пароль'
47
+ change_my_password: 'Змяніць пароль'
48
+ failure:
49
+ session_limited: 'Вашы параметры ўваходу выкарыстоўваюцца ў іншым браўзэры. Калі ласка, аўтарызуйцеся зноў, каб працягнуць у гэтым браўзэры.'
50
+ expired: 'Ваш уліковы запіс састарэў з-за неактыўнасці. Калі ласка, звяжыцеся з адміністратарам.'
@@ -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.
@@ -1,16 +1,42 @@
1
1
  de:
2
2
  errors:
3
3
  messages:
4
- taken_in_past: 'wurde bereits in der Vergangenheit verwendet!'
5
- equal_to_current_password: 'darf nicht dem aktuellen Passwort entsprechen!'
6
- password_format: 'müssen große, kleine Buchstaben und Ziffern enthalten'
4
+ taken_in_past: 'wurde bereits in der Vergangenheit verwendet.'
5
+ equal_to_current_password: 'darf nicht dem aktuellen Passwort entsprechen.'
6
+ equal_to_email: 'darf nicht dem E-mail entsprechen.'
7
+ password_complexity:
8
+ digit:
9
+ one: muss mindestens eine Ziffer enthalten
10
+ other: muss mindestens %{count} Ziffern enthalten
11
+ lower:
12
+ one: muss mindestens einen Kleinbuchstaben enthalten
13
+ other: muss mindestens %{count} Kleinbuchstaben enthalten
14
+ symbol:
15
+ one: muss mindestens ein Sonderzeichen enthalten
16
+ other: muss mindestens %{count} Sonderzeichen enthalten
17
+ upper:
18
+ one: muss mindestens einen Großbuchstaben enthalten
19
+ other: muss mindestens %{count} Großbuchstaben enthalten
7
20
  devise:
8
- invalid_captcha: 'Die Captchaeingabe ist nicht gültig!'
21
+ invalid_captcha: 'Die Captcha-Eingabe ist nicht gültig.'
22
+ invalid_security_question: 'Die Antwort auf die Sicherheitsfrage war ungültig.'
9
23
  paranoid_verify:
10
- code_required: 'Bitte geben Sie den Code unser Support-Team zur Verfügung gestellt'
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
27
+ show:
28
+ submit_verification_code: Bestätigungscode eingeben
29
+ verification_code: Bestätigungscode
30
+ submit: Bestätigen
11
31
  password_expired:
12
32
  updated: 'Das neue Passwort wurde übernommen.'
13
- change_required: 'Ihr Passwort ist abgelaufen. Bitte vergeben sie ein neues Passwort!'
33
+ change_required: 'Ihr Passwort ist abgelaufen. Bitte vergeben Sie ein neues Passwort.'
34
+ show:
35
+ renew_your_password: Vergeben Sie ein neues Passwort
36
+ current_password: Aktuelles Passwort
37
+ new_password: Neues Passwort
38
+ new_password_confirmation: Passwort bestätigen
39
+ change_my_password: Passwort ändern
14
40
  failure:
15
41
  session_limited: 'Ihre Anmeldedaten wurden in einem anderen Browser genutzt. Bitte melden Sie sich erneut an, um in diesem Browser fortzufahren.'
16
- expired: 'Ihr Account ist aufgrund zu langer Inaktiviät abgelaufen. Bitte kontaktieren Sie den Administrator.'
42
+ expired: 'Ihr Account ist aufgrund zu langer Inaktivität abgelaufen. Bitte kontaktieren Sie den Administrator.'
@@ -3,15 +3,40 @@ 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
- password_format: 'must contain big, small letters and digits'
6
+ equal_to_email: 'must be different than the email.'
7
+ password_complexity:
8
+ digit:
9
+ one: must contain at least one digit
10
+ other: must contain at least %{count} digits
11
+ lower:
12
+ one: must contain at least one lower-case letter
13
+ other: must contain at least %{count} lower-case letters
14
+ symbol:
15
+ one: must contain at least one punctuation mark or symbol
16
+ other: must contain at least %{count} punctuation marks or symbols
17
+ upper:
18
+ one: must contain at least one upper-case letter
19
+ other: must contain at least %{count} upper-case letters
7
20
  devise:
8
21
  invalid_captcha: 'The captcha input was invalid.'
9
22
  invalid_security_question: 'The security question answer was invalid.'
10
23
  paranoid_verify:
11
24
  code_required: 'Please enter the code our support team provided'
25
+ paranoid_verification_code:
26
+ updated: Verification code accepted
27
+ show:
28
+ submit_verification_code: Submit verification code
29
+ verification_code: Verification code
30
+ submit: Submit
12
31
  password_expired:
13
32
  updated: 'Your new password is saved.'
14
33
  change_required: 'Your password is expired. Please renew your password.'
34
+ show:
35
+ renew_your_password: Renew your password
36
+ current_password: Current password
37
+ new_password: New password
38
+ new_password_confirmation: Confirm new password
39
+ change_my_password: Change my password
15
40
  failure:
16
41
  session_limited: 'Your login credentials were used in another browser. Please sign in again to continue in this browser.'
17
42
  expired: 'Your account has expired due to inactivity. Please contact the site administrator.'
@@ -1,17 +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
- password_format: 'tiene que contener mayúsculas, minúsculas y digitos '
6
+ equal_to_email: 'tiene que ser diferente al email'
7
+ password_complexity:
8
+ digit:
9
+ one: tiene que contener al menos un dígito
10
+ other: tiene que contener al menos %{count} dígitos
11
+ lower:
12
+ one: tiene que contener al menos una minúscula
13
+ other: tiene que contener al menos %{count} minúsculas
14
+ symbol:
15
+ one: tiene que contener al menos un signo de puntuación
16
+ other: tiene que contener al menos %{count} signos de puntuación
17
+ upper:
18
+ one: tiene que contener al menos una mayúscula
19
+ other: tiene que contener al menos %{count} mayúsculas
7
20
  devise:
8
21
  invalid_captcha: 'El captcha ingresado es inválido.'
9
- 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.'
10
23
  paranoid_verify:
11
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
12
31
  password_expired:
13
- updated: 'Su nueva contraña ha sido guardada.'
14
- 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
15
40
  failure:
16
- 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.'
17
42
  expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
@@ -0,0 +1,42 @@
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
+ 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: 'حساب شما به دلیل عدم فعالیت منقضی شده است، لطفاً با مدیر سایت تماس بگیرید.'
@@ -0,0 +1,42 @@
1
+ fr:
2
+ errors:
3
+ messages:
4
+ taken_in_past: a été utilisé trop récemment. Veuillez en choisir un autre
5
+ equal_to_current_password: doit être différent de l'actuel
6
+ equal_to_email: doit être différent de l'e-mail
7
+ password_complexity:
8
+ digit:
9
+ one: doit contenir au moins un chiffre
10
+ other: doit contenir au moins %{count} chiffres
11
+ lower:
12
+ one: doit contenir au moins une lettre minuscule
13
+ other: doit contenir au moins %{count} lettres minuscules
14
+ symbol:
15
+ one: doit contenir au moins un signe de ponctuation
16
+ other: doit contenir au moins %{count} signes de ponctuation
17
+ upper:
18
+ one: doit contenir au moins une lettre majuscule
19
+ other: doit contenir au moins %{count} lettres majuscules
20
+ devise:
21
+ invalid_captcha: Le captcha n'est pas valide
22
+ invalid_security_question: La réponse à la question de sécurité est invalide
23
+ paranoid_verify:
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
31
+ password_expired:
32
+ updated: Votre nouveau mot de passe est enregistré
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
40
+ failure:
41
+ session_limited: Vos identifiants de connexion ont été utilisés dans un autre navigateur. Veuillez vous reconnecter pour continuer dans ce navigateur
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: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
@@ -1,10 +1,42 @@
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
+ updated: Codice di verifica accettato
27
+ show:
28
+ submit_verification_code: Invia codice di verifica
29
+ verification_code: Codice di verifica
30
+ submit: Invia
8
31
  password_expired:
9
- updated: "La tua nuova password e' stata salvata."
10
- change_required: "La tua password e' scaduta. Si prega di rinnovarla!"
32
+ updated: "La tua nuova password è stata salvata."
33
+ change_required: "La tua password è scaduta. Si prega di rinnovarla!"
34
+ show:
35
+ renew_your_password: Rinnova la tua password
36
+ current_password: Password attuale
37
+ new_password: Nuova password
38
+ new_password_confirmation: Conferma nuova password
39
+ change_my_password: Cambia la mia password
40
+ failure:
41
+ session_limited: "Hai effettuato l accesso in un altro browser. Fai nuovamente l accesso per connetterti in questo."
42
+ expired: 'Il tuo account è stato bloccato per inattività. Contatta l amministratore del sito.'
@@ -0,0 +1,42 @@
1
+ ja:
2
+ errors:
3
+ messages:
4
+ taken_in_past: 'は既に使われています。'
5
+ equal_to_current_password: 'は現在のパスワードと異なるものである必要があります。'
6
+ equal_to_email: 'メールとは異なる必要があります'
7
+ password_complexity:
8
+ digit:
9
+ one: は最低1つの数字を含む必要があります。
10
+ other: は最低%{count}つの数字を含む必要があります。
11
+ lower:
12
+ one: は最低1つの小文字英字を含む必要があります。
13
+ other: は最低%{count}つの小文字英字を含む必要があります。
14
+ symbol:
15
+ one: は最低1つの記号を含む必要があります。
16
+ other: は最低%{count}つの記号を含む必要があります。
17
+ upper:
18
+ one: は最低1つの大文字英字を含む必要があります。
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: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
@@ -0,0 +1,42 @@
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
+ updated: Verificatiecode geaccepteerd
27
+ show:
28
+ submit_verification_code: Verstuur verificatie code
29
+ verification_code: Verificatie code
30
+ submit: Verstuur
31
+ password_expired:
32
+ updated: Het nieuwe wachtwoord is opgeslagen.
33
+ change_required: Het wachtwoord is verlopen. Vernieuw je wachtwoord.
34
+ show:
35
+ renew_your_password: Vernieuw je wachtwoord
36
+ current_password: Huidig wachtwoord
37
+ new_password: Nieuw wachtwoord
38
+ new_password_confirmation: Bevestig het nieuwe wachtwoord
39
+ change_my_password: Verander mijn wachtwoord
40
+ failure:
41
+ session_limited: Je login is in een andere browser gebruikt. Log hier opnieuw in.
42
+ expired: Je account is verlopen. Neem contact op met de site beheerder.
@@ -0,0 +1,42 @@
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
+ updated: Código de verificação aceito
27
+ show:
28
+ submit_verification_code: Enviar código de verificação
29
+ verification_code: Código de verificação
30
+ submit: Enviar
31
+ password_expired:
32
+ updated: 'A nova senha foi salva.'
33
+ change_required: 'Sua senha expirou. Renove sua senha por favor.'
34
+ show:
35
+ renew_your_password: Renove sua senha
36
+ current_password: Senha atual
37
+ new_password: Senha nova
38
+ new_password_confirmation: Confirmar senha nova
39
+ change_my_password: Mudar minha senha
40
+ failure:
41
+ session_limited: 'Seu login foi utilizado em outro local. Faça o login novamente para continuar.'
42
+ expired: 'Sua conta expirou por inatividade. Por favor contate o administrador do site.'
@@ -0,0 +1,50 @@
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
+ updated: Код подтверждения принят
35
+ show:
36
+ submit_verification_code: Ввод кода подтверждения
37
+ verification_code: Код подверждения
38
+ submit: Отправить
39
+ password_expired:
40
+ updated: 'Ваш новый пароль сохранен.'
41
+ change_required: 'Ваш пароль устарел. Пожалуйста, установите новый.'
42
+ show:
43
+ renew_your_password: Смена пароля
44
+ current_password: Текущий пароль
45
+ new_password: Новый пароль
46
+ new_password_confirmation: Подтвердите новый пароль
47
+ change_my_password: Поменять пароль
48
+ failure:
49
+ session_limited: 'Ваши параметры входа используются в другом браузере. Пожалуйста, авторизуйтесь снова, чтобы продолжить в этом браузере.'
50
+ expired: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
@@ -0,0 +1,42 @@
1
+ tr:
2
+ errors:
3
+ messages:
4
+ taken_in_past: "daha önce kullanıldı."
5
+ equal_to_current_password: "mevcut paroladan farklı olmalı."
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
20
+ devise:
21
+ invalid_captcha: "Captcha hatalı."
22
+ invalid_security_question: "Güvenlik sorusunun cevabı yanlış."
23
+ paranoid_verify:
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
31
+ password_expired:
32
+ updated: "Yeni parolanız kaydedildi."
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
40
+ failure:
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.'
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.'