devise-security 0.14.2 → 0.17.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.
- checksums.yaml +4 -4
- data/README.md +125 -59
- data/app/controllers/devise/paranoid_verification_code_controller.rb +13 -1
- data/app/controllers/devise/password_expired_controller.rb +24 -6
- 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 +41 -0
- data/config/locales/by.yml +49 -0
- data/config/locales/cs.yml +41 -0
- data/config/locales/de.yml +15 -2
- data/config/locales/en.yml +15 -2
- data/config/locales/es.yml +10 -9
- data/config/locales/fa.yml +41 -0
- data/config/locales/fr.yml +1 -0
- data/config/locales/hi.yml +42 -0
- data/config/locales/it.yml +35 -4
- data/config/locales/ja.yml +2 -1
- data/config/locales/nl.yml +41 -0
- data/config/locales/pt.yml +41 -0
- data/config/locales/ru.yml +49 -0
- data/config/locales/tr.yml +1 -0
- data/config/locales/uk.yml +49 -0
- data/config/locales/zh_CN.yml +41 -0
- data/config/locales/zh_TW.yml +41 -0
- data/lib/devise-security/controllers/helpers.rb +59 -50
- data/lib/devise-security/hooks/password_expirable.rb +2 -0
- data/lib/devise-security/hooks/session_limitable.rb +21 -11
- data/lib/devise-security/models/database_authenticatable_patch.rb +15 -5
- data/lib/devise-security/models/password_archivable.rb +2 -2
- data/lib/devise-security/models/password_expirable.rb +5 -1
- data/lib/devise-security/models/secure_validatable.rb +56 -6
- data/lib/devise-security/models/session_limitable.rb +10 -1
- data/lib/devise-security/validators/password_complexity_validator.rb +53 -24
- data/lib/devise-security/version.rb +1 -1
- data/lib/devise-security.rb +13 -5
- data/lib/generators/devise_security/install_generator.rb +3 -3
- data/lib/generators/templates/{devise-security.rb → devise_security.rb} +6 -1
- data/test/controllers/test_paranoid_verification_code_controller.rb +68 -0
- data/test/controllers/test_password_expired_controller.rb +121 -19
- data/test/controllers/test_security_question_controller.rb +16 -40
- 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 +7 -0
- data/test/dummy/app/controllers/widgets_controller.rb +3 -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 +1 -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 +3 -3
- data/test/dummy/config/application.rb +4 -4
- data/test/dummy/config/boot.rb +1 -1
- data/test/dummy/config/environment.rb +1 -1
- data/test/dummy/config/environments/test.rb +3 -13
- 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 +5 -3
- data/test/dummy/db/migrate/20120508165529_create_tables.rb +3 -3
- 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_email.rb +2 -1
- data/test/dummy/lib/shared_user_without_omniauth.rb +12 -3
- data/test/dummy/lib/shared_verification_fields.rb +1 -0
- data/test/dummy/{app/models/.gitkeep → log/development.log} +0 -0
- data/test/dummy/log/test.log +101533 -0
- data/test/integration/test_password_expirable_workflow.rb +53 -0
- data/test/integration/test_session_limitable_workflow.rb +2 -0
- data/test/orm/active_record.rb +7 -4
- data/test/orm/mongoid.rb +2 -1
- data/test/support/integration_helpers.rb +15 -33
- data/test/support/mongoid.yml +1 -1
- data/test/test_compatibility.rb +2 -0
- data/test/test_complexity_validator.rb +250 -29
- data/test/test_database_authenticatable_patch.rb +146 -0
- data/test/test_helper.rb +12 -6
- data/test/test_install_generator.rb +12 -2
- data/test/test_paranoid_verification.rb +0 -1
- data/test/test_password_archivable.rb +34 -11
- data/test/test_password_expirable.rb +26 -26
- data/test/test_secure_validatable.rb +292 -50
- data/test/test_secure_validatable_overrides.rb +185 -0
- data/test/test_session_limitable.rb +27 -1
- data/test/tmp/config/initializers/devise_security.rb +49 -0
- data/test/tmp/config/locales/devise.security_extension.by.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.cs.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.de.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.en.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.es.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.fa.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.fr.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.hi.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.it.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.ja.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.nl.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.pt.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.ru.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.tr.yml +18 -0
- data/test/tmp/config/locales/devise.security_extension.uk.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +41 -0
- metadata +168 -132
- 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/schema.rb +0 -66
- data/test/dummy/app/models/secure_user.rb +0 -9
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,30 @@
|
|
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'
|
24
25
|
password_expired:
|
25
|
-
updated: 'Su nueva
|
26
|
-
change_required: 'Su
|
26
|
+
updated: 'Su nueva contraseña ha sido guardada.'
|
27
|
+
change_required: 'Su contraseña ha expirado. Por favor renueve su contraseña.'
|
27
28
|
failure:
|
28
|
-
session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en
|
29
|
+
session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en este navegador.'
|
29
30
|
expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
|
@@ -0,0 +1,41 @@
|
|
1
|
+
fa:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'قبلا استفاده شده است'
|
5
|
+
equal_to_current_password: 'باید متفاوت با رمز عبور فعلی باشد'
|
6
|
+
equal_to_email: 'باید متفاوت از ایمیل باشد'
|
7
|
+
password_complexity:
|
8
|
+
digit:
|
9
|
+
one: باید حداقل یک رقم داشته باشد
|
10
|
+
other: باید حداقل %{count} عدد داشته باشد
|
11
|
+
lower:
|
12
|
+
one: باید حداقل شامل یک حرف کوچک باشد
|
13
|
+
other: باید حداقل %{count} حروف کوچک داشته باشد
|
14
|
+
symbol:
|
15
|
+
one: باید حداقل دارای یک علامت یا کارکتر خاص باشد
|
16
|
+
other: باید حداقل دارای %{count} علائم یا کارکتر های خاص باشد
|
17
|
+
upper:
|
18
|
+
one: باید حداقل یک حرف بزرگ داشته باشد
|
19
|
+
other: باید حداقل %{count} حروف بزرگ داشته باشد
|
20
|
+
devise:
|
21
|
+
invalid_captcha: 'اطلاعات وارد شده در کپچا نامعتبر بود'
|
22
|
+
invalid_security_question: 'پاسخ سوال امنیتی نامعتبر بود'
|
23
|
+
paranoid_verify:
|
24
|
+
code_required: 'لطفاً کدی را که تیم پشتیبانی ما ارائه کرده است وارد کنید'
|
25
|
+
paranoid_verification_code:
|
26
|
+
show:
|
27
|
+
submit_verification_code: ارسال کد تاییدیه
|
28
|
+
verification_code: کد تاییدیه
|
29
|
+
submit: ارسال
|
30
|
+
password_expired:
|
31
|
+
updated: 'رمز جدید شما ذخیره شده است'
|
32
|
+
change_required: 'رمز عبور شما منقضی شده است ،لطفاً رمز خود را تمدید کنید'
|
33
|
+
show:
|
34
|
+
renew_your_password: ساختن رمز عبور جدید
|
35
|
+
current_password: رمز عبور جاری
|
36
|
+
new_password: رمز عبور جدید
|
37
|
+
new_password_confirmation: تکرار رمز جدید
|
38
|
+
change_my_password: تغییر رمز عبور
|
39
|
+
failure:
|
40
|
+
session_limited: 'از اطلاعات ورود شما در مرورگر دیگری استفاده شده است، برای ادامه در این مرورگر لطفاً دوباره وارد سیستم شوید'
|
41
|
+
expired: 'حساب شما به دلیل عدم فعالیت منقضی شده است، لطفاً با مدیر سایت تماس بگیرید.'
|
data/config/locales/fr.yml
CHANGED
@@ -3,6 +3,7 @@ fr:
|
|
3
3
|
messages:
|
4
4
|
taken_in_past: a été utilisé trop récemment. Veuillez en choisir un autre
|
5
5
|
equal_to_current_password: doit être différent de l'actuel
|
6
|
+
equal_to_email: doit être différent de l'e-mail
|
6
7
|
password_complexity:
|
7
8
|
digit:
|
8
9
|
one: doit contenir au moins un chiffre
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
hi:
|
3
|
+
errors:
|
4
|
+
messages:
|
5
|
+
taken_in_past: यह पासवर्ड, आपके द्वारा पूर्व मे प्रयोग किया जा चुका है
|
6
|
+
equal_to_current_password: नया पासवर्ड, वर्तमान पासवर्ड से भिन्न होना चाहिए
|
7
|
+
equal_to_email: ईमेल से अलग होना चाहिए
|
8
|
+
password_complexity:
|
9
|
+
digit:
|
10
|
+
one: एक अंक होना चाहिए
|
11
|
+
other: कम से कम %{count} अंक होने चाहिए
|
12
|
+
lower:
|
13
|
+
one: एक लोअर-केस अक्षर होना चाहिए
|
14
|
+
other: कम से कम %{count} अक्षर होने चाहिए
|
15
|
+
symbol:
|
16
|
+
one: एक चिन्ह होना चाहिए
|
17
|
+
other: कम से कम %{count} चिन्ह होने चाहिए
|
18
|
+
upper:
|
19
|
+
one: एक अपर-केस अक्षर होना चाहिए
|
20
|
+
other: कम से कम %{count} अपर-केस अक्षर होने चाहिए
|
21
|
+
devise:
|
22
|
+
invalid_captcha: अमान्य कॅप्टचा
|
23
|
+
invalid_security_question: अमान्य सुरक्षा उत्तर
|
24
|
+
paranoid_verify:
|
25
|
+
code_required: सपोर्ट टीम द्वारा दिया गया कोड डाले
|
26
|
+
paranoid_verification_code:
|
27
|
+
show:
|
28
|
+
submit_verification_code: वेरिफिकेशन कोड डाले
|
29
|
+
verification_code: वेरिफिकेशन कोड
|
30
|
+
submit: सबमिट
|
31
|
+
password_expired:
|
32
|
+
updated: पासवर्ड अद्यतन किया गया
|
33
|
+
change_required: पासवर्ड अमान्य हो चुका, पासवर्ड बदले
|
34
|
+
show:
|
35
|
+
renew_your_password: पासवर्ड बदले
|
36
|
+
current_password: वर्तमान पासवर्ड
|
37
|
+
new_password: नया पासवर्ड
|
38
|
+
new_password_confirmation: नए पासवर्ड की पुष्टि करें
|
39
|
+
change_my_password: पासवर्ड बदले
|
40
|
+
failure:
|
41
|
+
session_limited: जानकारी, दूसरे ब्राउज़र में उपयोग की गयी थी जारी रखने फिर से साइन-इन करे
|
42
|
+
expired: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
|
data/config/locales/it.yml
CHANGED
@@ -1,10 +1,41 @@
|
|
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
|
+
show:
|
27
|
+
submit_verification_code: Invia codice di verifica
|
28
|
+
verification_code: Codice di verifica
|
29
|
+
submit: Invia
|
8
30
|
password_expired:
|
9
|
-
updated: "La tua nuova password
|
10
|
-
change_required: "La tua password
|
31
|
+
updated: "La tua nuova password è stata salvata."
|
32
|
+
change_required: "La tua password è scaduta. Si prega di rinnovarla!"
|
33
|
+
show:
|
34
|
+
renew_your_password: Rinnova la tua password
|
35
|
+
current_password: Password attuale
|
36
|
+
new_password: Nuova password
|
37
|
+
new_password_confirmation: Conferma nuova password
|
38
|
+
change_my_password: Cambia la mia password
|
39
|
+
failure:
|
40
|
+
session_limited: "Hai effettuato l accesso in un altro browser. Fai nuovamente l accesso per connetterti in questo."
|
41
|
+
expired: 'Il tuo account è stato bloccato per inattività. Contatta l amministratore del sito.'
|
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,7 +19,7 @@ ja:
|
|
18
19
|
other: は最低%{count}つの大文字英字を含む必要があります。
|
19
20
|
devise:
|
20
21
|
invalid_captcha: 'キャプチャ入力が不正です。'
|
21
|
-
invalid_security_question: '
|
22
|
+
invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
|
22
23
|
paranoid_verify:
|
23
24
|
code_required: 'サポートチームに提供された認証コードを入力してください。'
|
24
25
|
password_expired:
|
@@ -0,0 +1,41 @@
|
|
1
|
+
nl:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: is eerder gebruikt.
|
5
|
+
equal_to_current_password: moet verschillen van het huidige wachtwoord.
|
6
|
+
equal_to_email: moet anders zijn dan de e-mail
|
7
|
+
password_complexity:
|
8
|
+
digit:
|
9
|
+
one: moet minimaal 1 cijfer bevatten
|
10
|
+
other: moet minimaal %{count} cijfers bevatten
|
11
|
+
lower:
|
12
|
+
one: moet minimaal 1 kleine letter bevatten
|
13
|
+
other: moet minimaal %{count} kleine letters bevatten
|
14
|
+
symbol:
|
15
|
+
one: moet minimaal 1 leesteken of symbool bevatten
|
16
|
+
other: moet minimaal %{count} leestekens of symbolen bevatten
|
17
|
+
upper:
|
18
|
+
one: moet minimaal 1 hoofdletter bevatten
|
19
|
+
other: moet minimaal %{count} hoofdletters bevatten
|
20
|
+
devise:
|
21
|
+
invalid_captcha: De captcha invoer was ongeldig.
|
22
|
+
invalid_security_question: Het antwoord op de beveiligingsvraag was niet correct.
|
23
|
+
paranoid_verify:
|
24
|
+
code_required: Voer de aangeleverde code in
|
25
|
+
paranoid_verification_code:
|
26
|
+
show:
|
27
|
+
submit_verification_code: Verstuur verificatie code
|
28
|
+
verification_code: Verificatie code
|
29
|
+
submit: Verstuur
|
30
|
+
password_expired:
|
31
|
+
updated: Het nieuwe wachtwoord is opgeslagen.
|
32
|
+
change_required: Het wachtwoord is verlopen. Vernieuw je wachtwoord.
|
33
|
+
show:
|
34
|
+
renew_your_password: Vernieuw je wachtwoord
|
35
|
+
current_password: Huidig wachtwoord
|
36
|
+
new_password: Nieuw wachtwoord
|
37
|
+
new_password_confirmation: Bevestig het nieuwe wachtwoord
|
38
|
+
change_my_password: Verander mijn wachtwoord
|
39
|
+
failure:
|
40
|
+
session_limited: Je login is in een andere browser gebruikt. Log hier opnieuw in.
|
41
|
+
expired: Je account is verlopen. Neem contact op met de site beheerder.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
pt:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'foi usada anteriormente.'
|
5
|
+
equal_to_current_password: 'deve ser diferente da senha atual.'
|
6
|
+
equal_to_email: 'deve ser diferente do e-mail.'
|
7
|
+
password_complexity:
|
8
|
+
digit:
|
9
|
+
one: deve conter ao menos um dígito
|
10
|
+
other: deve conter ao menos %{count} dígitos
|
11
|
+
lower:
|
12
|
+
one: deve conter ao menos uma letra minúscula
|
13
|
+
other: deve conter ao menos %{count} letras minúsculas
|
14
|
+
symbol:
|
15
|
+
one: deve conter ao menos um símbolo
|
16
|
+
other: deve conter ao menos %{count} símbolos
|
17
|
+
upper:
|
18
|
+
one: deve conter ao menos uma letra maiúscula
|
19
|
+
other: deve conter ao menos %{count} letras maiúsculas
|
20
|
+
devise:
|
21
|
+
invalid_captcha: 'O captcha está errado.'
|
22
|
+
invalid_security_question: 'A resposta da pergunta de segurança está errada.'
|
23
|
+
paranoid_verify:
|
24
|
+
code_required: 'Por favor entre o código que a equipe de suporte enviou'
|
25
|
+
paranoid_verification_code:
|
26
|
+
show:
|
27
|
+
submit_verification_code: Enviar código de verificação
|
28
|
+
verification_code: Código de verificação
|
29
|
+
submit: Enviar
|
30
|
+
password_expired:
|
31
|
+
updated: 'A nova senha foi salva.'
|
32
|
+
change_required: 'Sua senha expirou. Renove sua senha por favor.'
|
33
|
+
show:
|
34
|
+
renew_your_password: Renove sua senha
|
35
|
+
current_password: Senha atual
|
36
|
+
new_password: Senha nova
|
37
|
+
new_password_confirmation: Confirmar senha nova
|
38
|
+
change_my_password: Mudar minha senha
|
39
|
+
failure:
|
40
|
+
session_limited: 'Seu login foi utilizado em outro local. Faça o login novamente para continuar.'
|
41
|
+
expired: 'Sua conta expirou por inatividade. Por favor contate o administrador do site.'
|
@@ -0,0 +1,49 @@
|
|
1
|
+
ru:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'уже ранее использовался.'
|
5
|
+
equal_to_current_password: 'должен отличаться от текущего пароля.'
|
6
|
+
equal_to_email: 'должно отличаться от адреса электронной почты.'
|
7
|
+
password_complexity:
|
8
|
+
digit:
|
9
|
+
one: 'должен содержать хотя бы одну цифру'
|
10
|
+
few: 'должен содержать хотя бы %{count} цифры'
|
11
|
+
many: 'должен содержать хотя бы %{count} цифр'
|
12
|
+
other: 'должен содержать хотя бы %{count} цифры'
|
13
|
+
lower:
|
14
|
+
one: 'должен содержать хотя бы одну строчную букву'
|
15
|
+
few: 'должен содержать хотя бы %{count} строчные буквы'
|
16
|
+
many: 'должен содержать хотя бы %{count} строчных букв'
|
17
|
+
other: 'должен содержать хотя бы %{count} строчных букв'
|
18
|
+
symbol:
|
19
|
+
one: 'должен содержать хотя бы один знак пунктуации или символ'
|
20
|
+
few: 'должен содержать хотя бы %{count} знака пунктуации или символа'
|
21
|
+
many: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
|
22
|
+
other: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
|
23
|
+
upper:
|
24
|
+
one: 'должен содержать хотя бы одну прописную букву'
|
25
|
+
few: 'должен содержать хотя бы %{count} прописные буквы'
|
26
|
+
many: 'должен содержать хотя бы %{count} прописных букв'
|
27
|
+
other: 'должен содержать хотя бы %{count} прописных букв'
|
28
|
+
devise:
|
29
|
+
invalid_captcha: 'Введен неправильный код капчи.'
|
30
|
+
invalid_security_question: 'Ответ на секретный вопрос был неверным.'
|
31
|
+
paranoid_verify:
|
32
|
+
code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
|
33
|
+
paranoid_verification_code:
|
34
|
+
show:
|
35
|
+
submit_verification_code: Ввод кода подтверждения
|
36
|
+
verification_code: Код подверждения
|
37
|
+
submit: Отправить
|
38
|
+
password_expired:
|
39
|
+
updated: 'Ваш новый пароль сохранен.'
|
40
|
+
change_required: 'Ваш пароль устарел. Пожалуйста, установите новый.'
|
41
|
+
show:
|
42
|
+
renew_your_password: Смена пароля
|
43
|
+
current_password: Текущий пароль
|
44
|
+
new_password: Новый пароль
|
45
|
+
new_password_confirmation: Подтвердите новый пароль
|
46
|
+
change_my_password: Поменять пароль
|
47
|
+
failure:
|
48
|
+
session_limited: 'Ваши параметры входа используются в другом браузере. Пожалуйста, авторизуйтесь снова, чтобы продолжить в этом браузере.'
|
49
|
+
expired: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
|
data/config/locales/tr.yml
CHANGED
@@ -3,6 +3,7 @@ tr:
|
|
3
3
|
messages:
|
4
4
|
taken_in_past: "daha önce kullanıldı."
|
5
5
|
equal_to_current_password: "mevcut paroladan farklı olmalı."
|
6
|
+
equal_to_email: "e-postadan farklı olmalı."
|
6
7
|
password_format: "büyük, küçük harfler ve sayılar içermeli."
|
7
8
|
devise:
|
8
9
|
invalid_captcha: "Captcha hatalı."
|
@@ -0,0 +1,49 @@
|
|
1
|
+
uk:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'раніше використовувався.'
|
5
|
+
equal_to_current_password: 'має відрізнятися від поточного паролю.'
|
6
|
+
equal_to_email: 'має відрізнятися від електронної пошти.'
|
7
|
+
password_complexity:
|
8
|
+
digit:
|
9
|
+
one: 'повинен включати хоча б одну цифру'
|
10
|
+
few: 'повинен включати хоча б %{count} цифри'
|
11
|
+
many: 'повинен включати хоча б %{count} цифр'
|
12
|
+
other: 'повинен включати хоча б %{count} цифри'
|
13
|
+
lower:
|
14
|
+
one: 'повинен включати хоча б одну малу букву'
|
15
|
+
few: 'повинен включати хоча б %{count} малі букви'
|
16
|
+
many: 'повинен включати хоча б %{count} малих букв'
|
17
|
+
other: 'повинен включати хоча б %{count} малі букви'
|
18
|
+
symbol:
|
19
|
+
one: 'повинен включати хоча б один розділовий знак або символ'
|
20
|
+
few: 'повинен включати хоча б %{count} розділові знаки або символи'
|
21
|
+
many: 'повинен включати хоча б %{count} розділових знаків або символів'
|
22
|
+
other: 'повинен включати хоча б %{count} розділові знаки або символи'
|
23
|
+
upper:
|
24
|
+
one: 'повинен включати хоча б одну прописну букву'
|
25
|
+
few: 'повинен включати хоча б %{count} прописні букви'
|
26
|
+
many: 'повинен включати хоча б %{count} прописних букв'
|
27
|
+
other: 'повинен включати хоча б %{count} прописні букви'
|
28
|
+
devise:
|
29
|
+
invalid_captcha: 'Введення капчі недійсне.'
|
30
|
+
invalid_security_question: 'Неправильна відповідь на секретне питання.'
|
31
|
+
paranoid_verify:
|
32
|
+
code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
|
33
|
+
paranoid_verification_code:
|
34
|
+
show:
|
35
|
+
submit_verification_code: Відправити код підтвердження
|
36
|
+
verification_code: Код підтвердження
|
37
|
+
submit: Відправити
|
38
|
+
password_expired:
|
39
|
+
updated: 'Ваш новий пароль збережено.'
|
40
|
+
change_required: 'Ваш пароль застарілий. Будь ласка, оновіть пароль.'
|
41
|
+
show:
|
42
|
+
renew_your_password: Оновити свій пароль
|
43
|
+
current_password: Теперішній пароль
|
44
|
+
new_password: Новий пароль
|
45
|
+
new_password_confirmation: Підтвердити новий пароль
|
46
|
+
change_my_password: Змінити пароль
|
47
|
+
failure:
|
48
|
+
session_limited: 'Ваші облікові дані були використані в іншому браузері. Будь ласка, авторизуйтесь знову щоб продовжити в цьому браузері.'
|
49
|
+
expired: "Ваш аккаунт застарів через неактивність. Будь ласка, зв'яжіться з адміністратором."
|
@@ -0,0 +1,41 @@
|
|
1
|
+
zh_CN:
|
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
|
+
show:
|
27
|
+
submit_verification_code: 提交验证码
|
28
|
+
verification_code: 验证码
|
29
|
+
submit: 提交
|
30
|
+
password_expired:
|
31
|
+
updated: '你的新密码已保存。'
|
32
|
+
change_required: '你的密码已过期,请更新密码。'
|
33
|
+
show:
|
34
|
+
renew_your_password: 更新你的密码
|
35
|
+
current_password: 当前密码
|
36
|
+
new_password: 新密码
|
37
|
+
new_password_confirmation: 确认新密码
|
38
|
+
change_my_password: 更改密码
|
39
|
+
failure:
|
40
|
+
session_limited: '你的登录凭据已在另一个浏览器上被使用。请重新登录以在此浏览器继续。'
|
41
|
+
expired: '由于不活跃,你的账户已过期。请联系站点管理员。'
|
@@ -0,0 +1,41 @@
|
|
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
|
+
show:
|
27
|
+
submit_verification_code: 送出驗證碼
|
28
|
+
verification_code: 驗證碼
|
29
|
+
submit: 送出
|
30
|
+
password_expired:
|
31
|
+
updated: '你的新密碼已儲存'
|
32
|
+
change_required: '你的密碼已經過期,請更新密碼。'
|
33
|
+
show:
|
34
|
+
renew_your_password: 更新你的密碼
|
35
|
+
current_password: 目前密碼
|
36
|
+
new_password: 新密碼
|
37
|
+
new_password_confirmation: 確認新密碼
|
38
|
+
change_my_password: 更改我的密碼
|
39
|
+
failure:
|
40
|
+
session_limited: '你的登入憑證已在另一個瀏覽器上被使用,請重新登入以在此瀏覽器繼續使用。'
|
41
|
+
expired: '你的帳號因過久沒使用而已經過期,請洽網站管理員。'
|