devise-security 0.14.1 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +3 -1
- data/README.md +136 -61
- data/app/controllers/devise/paranoid_verification_code_controller.rb +26 -12
- data/app/controllers/devise/password_expired_controller.rb +32 -10
- data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
- data/app/views/devise/password_expired/show.html.erb +5 -5
- data/config/locales/bg.yml +42 -0
- data/config/locales/by.yml +50 -0
- data/config/locales/cs.yml +46 -0
- data/config/locales/de.yml +16 -2
- data/config/locales/en.yml +15 -2
- data/config/locales/es.yml +22 -9
- data/config/locales/fa.yml +42 -0
- data/config/locales/fr.yml +15 -2
- data/config/locales/hi.yml +43 -0
- data/config/locales/it.yml +36 -4
- data/config/locales/ja.yml +14 -1
- data/config/locales/nl.yml +42 -0
- data/config/locales/pt.yml +42 -0
- data/config/locales/ru.yml +50 -0
- data/config/locales/tr.yml +26 -1
- data/config/locales/uk.yml +50 -0
- data/config/locales/zh_CN.yml +42 -0
- data/config/locales/zh_TW.yml +42 -0
- data/lib/devise-security/controllers/helpers.rb +72 -51
- data/lib/devise-security/hooks/expirable.rb +3 -3
- data/lib/devise-security/hooks/paranoid_verification.rb +1 -3
- data/lib/devise-security/hooks/password_expirable.rb +3 -3
- data/lib/devise-security/hooks/session_limitable.rb +29 -14
- data/lib/devise-security/models/compatibility/{active_record.rb → active_record_patch.rb} +14 -2
- data/lib/devise-security/models/compatibility/{mongoid.rb → mongoid_patch.rb} +12 -1
- data/lib/devise-security/models/compatibility.rb +2 -2
- data/lib/devise-security/models/database_authenticatable_patch.rb +18 -10
- data/lib/devise-security/models/expirable.rb +6 -5
- data/lib/devise-security/models/paranoid_verification.rb +2 -2
- data/lib/devise-security/models/password_archivable.rb +3 -3
- data/lib/devise-security/models/password_expirable.rb +5 -1
- data/lib/devise-security/models/secure_validatable.rb +62 -11
- data/lib/devise-security/models/session_limitable.rb +17 -2
- data/lib/devise-security/orm/mongoid.rb +1 -1
- data/lib/devise-security/patches.rb +14 -8
- data/lib/devise-security/routes.rb +2 -3
- data/lib/devise-security/validators/password_complexity_validator.rb +53 -24
- data/lib/devise-security/version.rb +1 -1
- data/lib/devise-security.rb +15 -6
- data/lib/generators/devise_security/install_generator.rb +4 -6
- data/lib/generators/templates/{devise-security.rb → devise_security.rb} +9 -1
- data/test/controllers/test_paranoid_verification_code_controller.rb +133 -0
- data/test/controllers/test_password_expired_controller.rb +164 -0
- data/test/{test_security_question_controller.rb → controllers/test_security_question_controller.rb} +19 -37
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb +7 -0
- data/test/dummy/app/controllers/overrides/password_expired_controller.rb +17 -0
- data/test/dummy/app/controllers/widgets_controller.rb +9 -0
- data/test/dummy/app/models/application_user_record.rb +2 -1
- data/test/dummy/app/models/mongoid/confirmable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +4 -3
- data/test/dummy/app/models/mongoid/expirable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/lockable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/mappings.rb +4 -2
- data/test/dummy/app/models/mongoid/omniauthable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/password_archivable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/password_expirable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/recoverable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/registerable_fields.rb +4 -2
- data/test/dummy/app/models/mongoid/rememberable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/security_questionable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/session_limitable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/timeoutable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/trackable_fields.rb +2 -0
- data/test/dummy/app/models/mongoid/validatable_fields.rb +2 -0
- data/test/dummy/app/models/paranoid_verification_user.rb +26 -0
- data/test/dummy/app/models/password_expired_user.rb +26 -0
- data/test/dummy/app/models/user.rb +10 -2
- data/test/dummy/app/models/widget.rb +1 -3
- data/test/dummy/app/mongoid/one_user.rb +5 -5
- data/test/dummy/app/mongoid/user_on_engine.rb +2 -2
- data/test/dummy/app/mongoid/user_on_main_app.rb +2 -2
- data/test/dummy/app/mongoid/user_with_validations.rb +3 -3
- data/test/dummy/app/mongoid/user_without_email.rb +7 -4
- data/test/dummy/config/application.rb +3 -7
- data/test/dummy/config/boot.rb +1 -1
- data/test/dummy/config/environment.rb +1 -1
- data/test/dummy/config/environments/test.rb +4 -13
- data/test/dummy/config/initializers/devise.rb +1 -5
- data/test/dummy/config/initializers/migration_class.rb +1 -8
- data/test/dummy/config/locales/en.yml +10 -0
- data/test/dummy/config/mongoid.yml +1 -1
- data/test/dummy/config/routes.rb +6 -3
- data/test/dummy/config.ru +1 -1
- data/test/dummy/db/migrate/20120508165529_create_tables.rb +15 -6
- data/test/dummy/lib/shared_expirable_columns.rb +1 -0
- data/test/dummy/lib/shared_security_questions_fields.rb +1 -0
- data/test/dummy/lib/shared_user.rb +17 -6
- data/test/dummy/lib/shared_user_without_omniauth.rb +12 -3
- data/test/dummy/lib/shared_verification_fields.rb +1 -0
- data/test/dummy/log/test.log +45240 -0
- data/test/i18n_test.rb +22 -0
- data/test/integration/test_paranoid_verification_code_workflow.rb +53 -0
- data/test/integration/test_password_expirable_workflow.rb +53 -0
- data/test/integration/test_session_limitable_workflow.rb +69 -0
- data/test/orm/active_record.rb +7 -4
- data/test/orm/mongoid.rb +2 -1
- data/test/support/integration_helpers.rb +35 -0
- data/test/support/mongoid.yml +1 -1
- data/test/test_compatibility.rb +15 -0
- data/test/test_complexity_validator.rb +251 -29
- data/test/test_database_authenticatable_patch.rb +146 -0
- data/test/test_helper.rb +23 -8
- data/test/test_install_generator.rb +12 -2
- data/test/test_paranoid_verification.rb +8 -9
- data/test/test_password_archivable.rb +34 -11
- data/test/test_password_expirable.rb +27 -27
- data/test/test_secure_validatable.rb +284 -50
- data/test/test_secure_validatable_overrides.rb +185 -0
- data/test/test_session_limitable.rb +57 -0
- data/test/tmp/config/initializers/devise_security.rb +52 -0
- data/test/tmp/config/locales/devise.security_extension.by.yml +50 -0
- data/test/tmp/config/locales/devise.security_extension.cs.yml +46 -0
- data/test/tmp/config/locales/devise.security_extension.de.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.en.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.es.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.fa.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.fr.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.hi.yml +43 -0
- data/test/tmp/config/locales/devise.security_extension.it.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.ja.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.nl.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.pt.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.ru.yml +50 -0
- data/test/tmp/config/locales/devise.security_extension.tr.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.uk.yml +50 -0
- data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +42 -0
- metadata +202 -138
- data/.codeclimate.yml +0 -63
- data/.document +0 -5
- data/.gitignore +0 -43
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -64
- data/.ruby-version +0 -1
- data/.travis.yml +0 -39
- data/Appraisals +0 -35
- data/Gemfile +0 -10
- data/Rakefile +0 -27
- data/devise-security.gemspec +0 -50
- data/gemfiles/rails_4.2_stable.gemfile +0 -16
- data/gemfiles/rails_5.0_stable.gemfile +0 -15
- data/gemfiles/rails_5.1_stable.gemfile +0 -15
- data/gemfiles/rails_5.2_stable.gemfile +0 -15
- data/gemfiles/rails_6.0_beta.gemfile +0 -15
- data/lib/devise-security/orm/active_record.rb +0 -20
- data/lib/devise-security/patches/confirmations_controller_captcha.rb +0 -23
- data/lib/devise-security/patches/confirmations_controller_security_question.rb +0 -26
- data/lib/devise-security/patches/passwords_controller_captcha.rb +0 -22
- data/lib/devise-security/patches/passwords_controller_security_question.rb +0 -25
- data/lib/devise-security/patches/registrations_controller_captcha.rb +0 -35
- data/lib/devise-security/patches/sessions_controller_captcha.rb +0 -26
- data/lib/devise-security/patches/unlocks_controller_captcha.rb +0 -22
- data/lib/devise-security/patches/unlocks_controller_security_question.rb +0 -25
- data/lib/devise-security/schema.rb +0 -66
- data/test/dummy/app/controllers/foos_controller.rb +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/models/secure_user.rb +0 -9
- data/test/dummy/lib/shared_user_without_email.rb +0 -28
- data/test/test_password_expired_controller.rb +0 -46
- /data/test/{test_captcha_controller.rb → controllers/test_captcha_controller.rb} +0 -0
@@ -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.
|
data/config/locales/de.yml
CHANGED
@@ -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,18 +12,31 @@ 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
|
15
|
-
other: muss mindestens %{count}
|
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
|
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
|
27
|
+
show:
|
28
|
+
submit_verification_code: Bestätigungscode eingeben
|
29
|
+
verification_code: Bestätigungscode
|
30
|
+
submit: Bestätigen
|
23
31
|
password_expired:
|
24
32
|
updated: 'Das neue Passwort wurde übernommen.'
|
25
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
|
26
40
|
failure:
|
27
41
|
session_limited: 'Ihre Anmeldedaten wurden in einem anderen Browser genutzt. Bitte melden Sie sich erneut an, um in diesem Browser fortzufahren.'
|
28
42
|
expired: 'Ihr Account ist aufgrund zu langer Inaktivität abgelaufen. Bitte kontaktieren Sie den Administrator.'
|
data/config/locales/en.yml
CHANGED
@@ -3,16 +3,17 @@ 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}
|
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
|
13
14
|
symbol:
|
14
15
|
one: must contain at least one punctuation mark or symbol
|
15
|
-
other: must contain at least %{count}
|
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,21 @@ 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
|
+
updated: Verification code accepted
|
27
|
+
show:
|
28
|
+
submit_verification_code: Submit verification code
|
29
|
+
verification_code: Verification code
|
30
|
+
submit: Submit
|
24
31
|
password_expired:
|
25
32
|
updated: 'Your new password is saved.'
|
26
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
|
27
40
|
failure:
|
28
41
|
session_limited: 'Your login credentials were used in another browser. Please sign in again to continue in this browser.'
|
29
42
|
expired: 'Your account has expired due to inactivity. Please contact the site administrator.'
|
data/config/locales/es.yml
CHANGED
@@ -1,29 +1,42 @@
|
|
1
1
|
es:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
taken_in_past: 'la contraseña fue usada previamente, favor
|
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
|
9
|
-
other: tiene que contener al menos %{count}
|
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
|
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
|
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
|
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
|
26
|
-
change_required: 'Su
|
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
|
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.'
|
@@ -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: 'حساب شما به دلیل عدم فعالیت منقضی شده است، لطفاً با مدیر سایت تماس بگیرید.'
|
data/config/locales/fr.yml
CHANGED
@@ -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
|
12
|
-
other: doit contenir au moins %{count} lettres
|
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: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
|
data/config/locales/it.yml
CHANGED
@@ -1,10 +1,42 @@
|
|
1
1
|
it:
|
2
2
|
errors:
|
3
3
|
messages:
|
4
|
-
taken_in_past: "
|
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
|
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
|
10
|
-
change_required: "La tua password
|
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.'
|
data/config/locales/ja.yml
CHANGED
@@ -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,12 +19,24 @@ 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: 'サポートチームに提供された認証コードを入力してください。'
|
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: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
|
@@ -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: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
|
data/config/locales/tr.yml
CHANGED
@@ -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
|
-
|
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.'
|
@@ -0,0 +1,50 @@
|
|
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
|
+
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: "Ваш аккаунт застарів через неактивність. Будь ласка, зв'яжіться з адміністратором."
|