diff --git a/resources/lang/ar/admin.php b/resources/lang/ar/admin.php index 762175ec..ef68a501 100644 --- a/resources/lang/ar/admin.php +++ b/resources/lang/ar/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/ar/auth.php b/resources/lang/ar/auth.php index 7334b79a..2c80d4a2 100644 --- a/resources/lang/ar/auth.php +++ b/resources/lang/ar/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Sign out', 'sign_in' => 'Sign in', 'sign_in_using' => 'Sign in using', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Sign in using a security device', 'login_and_password' => 'login & password', 'register' => 'Register', @@ -34,6 +41,7 @@ 'maybe_later' => 'Maybe later', 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', 'auth_handled_by_proxy' => 'Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Are you sure you want to log out?', 'revoke_device' => 'Are you sure you want to revoke this device?', @@ -79,6 +87,7 @@ 'name' => 'Name', 'login' => 'Login', 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', 'email' => 'Email', 'password' => 'Password', 'reveal_password' => 'Reveal password', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Reset your password', 'reset_password' => 'Reset password', 'disabled_in_demo' => 'Feature disabled in Demo mode', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Current password', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Recommanded (highly)', 'caps_lock_is_on' => 'Caps lock is On', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/ar/errors.php b/resources/lang/ar/errors.php index f959785b..5e067027 100644 --- a/resources/lang/ar/errors.php +++ b/resources/lang/ar/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', 'auth_proxy_failed' => 'Proxy authentication failed', 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', diff --git a/resources/lang/ar/twofaccounts.php b/resources/lang/ar/twofaccounts.php index 04673914..92ddb567 100644 --- a/resources/lang/ar/twofaccounts.php +++ b/resources/lang/ar/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Try my luck', 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Secret', 'help' => 'The key used to generate your security codes' diff --git a/resources/lang/ar/validation.php b/resources/lang/ar/validation.php index b49f6f93..c86ec16f 100644 --- a/resources/lang/ar/validation.php +++ b/resources/lang/ar/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/bg/admin.php b/resources/lang/bg/admin.php index 762175ec..ef68a501 100644 --- a/resources/lang/bg/admin.php +++ b/resources/lang/bg/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/bg/auth.php b/resources/lang/bg/auth.php index 6488aa9b..5781a22f 100644 --- a/resources/lang/bg/auth.php +++ b/resources/lang/bg/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Изход', 'sign_in' => 'Вход', 'sign_in_using' => 'Влизане с', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Влезте с помощта на защитно устройство', 'login_and_password' => 'потребител и парола', 'register' => 'Регистрация', @@ -34,6 +41,7 @@ 'maybe_later' => 'Може би по-късно', 'user_account_controlled_by_proxy' => 'Потребителски акаунт, предоставен от прокси за удостоверяване.
Управлявайте акаунта на ниво прокси.', 'auth_handled_by_proxy' => 'Удостоверяването се обработва от ревърс прокси, настройките по-долу са деактивирани.
Управлявайте удостоверяването на ниво прокси.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Сигурни ли сте, че искате да излезете?', 'revoke_device' => 'Сигурни ли сте, че искате да анулирате това устройство?', @@ -79,6 +87,7 @@ 'name' => 'Име', 'login' => 'Вход', 'webauthn_login' => 'WebAuthn вход', + 'sso_login' => 'SSO login', 'email' => 'Имейл', 'password' => 'Парола', 'reveal_password' => 'Покажи паролата', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Нулиране на паролата', 'reset_password' => 'Нулиране на парола', 'disabled_in_demo' => 'Функцията е деактивирана в демо режима', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Текуща парола', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Силно препоръчително', 'caps_lock_is_on' => 'Главните букви са включени', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/bg/errors.php b/resources/lang/bg/errors.php index d1dbf631..f80624b7 100644 --- a/resources/lang/bg/errors.php +++ b/resources/lang/bg/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Не е приложимо при използване на прокси за удостоверяване', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'Изтриването на профила не бе успешно, няма изтрити данни', 'auth_proxy_failed' => 'Неуспешно удостоверяване на проксито', 'auth_proxy_failed_legend' => '2Fauth е конфигуриран да работи зад прокси за удостоверяване, но вашето прокси не връща очаквания хедър. Проверете конфигурацията си и опитайте отново.', diff --git a/resources/lang/bg/twofaccounts.php b/resources/lang/bg/twofaccounts.php index 4e7677c4..476d4c07 100644 --- a/resources/lang/bg/twofaccounts.php +++ b/resources/lang/bg/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'На късмет', 'i_m_lucky_legend' => 'Бутонът "На късмет" ще опита да изтегли официалната икона на дадената услуга. Въведете действителното име на услугата без разширение ".xyz" и се опитайте да избегнете правописна грешка. (бета функция)', 'test' => 'Тест', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Тайна', 'help' => 'Ключът, използван за генериране на вашите кодове за сигурност' diff --git a/resources/lang/bg/validation.php b/resources/lang/bg/validation.php index fea3328d..d822bd85 100644 --- a/resources/lang/bg/validation.php +++ b/resources/lang/bg/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'ID-тата трябва да са разделени със запетая, и да не завършват с такава.', - ] + ], ], /* diff --git a/resources/lang/de/admin.php b/resources/lang/de/admin.php index 7cc24ca1..54786124 100644 --- a/resources/lang/de/admin.php +++ b/resources/lang/de/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Administrator', 'app_setup' => 'App-Einstellungen', + 'auth' => 'Auth', 'registrations' => 'Registrierungen', 'users' => 'Benutzer', 'users_legend' => 'Benutzer verwalten, die bereits registriert sind, oder neue Benutzer erstellen.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Einträge aus dem letzten Jahr anzeigen', 'sort_by_date_asc' => 'Älteste zuerst anzeigen', 'sort_by_date_desc' => 'Aktuellste zuerst anzeigen', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Sensible Daten schützen', @@ -105,9 +107,13 @@ 'help' => 'Verhindert eine neue Benutzerregistrierung. Sofern nicht überschrieben (siehe unten) wirkt sich dies auch auf SSO aus, so dass neue Benutzer sich nicht via SSO anmelden können.', ], 'enable_sso' => [ - 'label' => 'Single Sign-On (SSO) aktivieren', + 'label' => 'Enable SSO', 'help' => 'Besuchern die Authentifizierung mit einer externen ID über das Single Sign-On Schema erlauben.', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO-Registrierung aktiviert lassen', 'help' => 'Neuen Benutzern erlauben, sich zum ersten Mal über SSO anzumelden, während die Registrierung deaktiviert ist.', diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php index 0baf7054..70bb07c0 100644 --- a/resources/lang/de/auth.php +++ b/resources/lang/de/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Abmelden', 'sign_in' => 'Anmelden', 'sign_in_using' => 'Anmelden mit', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'Sie können auch fortfahren mit:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Mit einem Sicherheitsgerät anmelden', 'login_and_password' => 'Benutzername & Passwort', 'register' => 'Registrieren', @@ -34,6 +41,7 @@ 'maybe_later' => 'Vielleicht später', 'user_account_controlled_by_proxy' => 'Benutzerkonto, das von einem Authentifizierungsproxy zur Verfügung gestellt wurde.
Verwalten Sie das Konto auf Proxy-Ebene.', 'auth_handled_by_proxy' => 'Authentifizierung von einem Reverse-Proxy verwaltet, unten sind die Einstellungen deaktiviert.
Authentifizierung auf Proxy-Ebene verwalten.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Sind Sie sicher, dass Sie sich abmelden möchten?', 'revoke_device' => 'Möchten Sie das Gerät wirklich entfernen?', @@ -79,6 +87,7 @@ 'name' => 'Name', 'login' => 'Anmeldung', 'webauthn_login' => 'WebAuthn-Anmeldung', + 'sso_login' => 'SSO login', 'email' => 'E-Mail', 'password' => 'Passwort', 'reveal_password' => 'Passwort anzeigen', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Passwort zurücksetzen', 'reset_password' => 'Password zurücksetzen', 'disabled_in_demo' => 'Funktion im Demo-Modus deaktiviert', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'Neues Passwort', 'current_password' => [ 'label' => 'Aktuelles Passwort', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Empfohlen (sehr)', 'caps_lock_is_on' => 'Die Feststelltaste ist aktiviert', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/de/errors.php b/resources/lang/de/errors.php index 4d358862..29329354 100644 --- a/resources/lang/de/errors.php +++ b/resources/lang/de/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuths Domain ist keine gültige Domain', 'user_id_not_between_1_64' => 'Benutzer-ID war nicht zwischen 1 und 64 Zeichen', 'no_entry_was_of_type_public_key' => 'Kein Eintrag vom Typ "public-key"', - 'unsupported_with_reverseproxy' => 'Nicht anwendbar, wenn ein Auth-Proxy benutzt wird', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'Löschen des Benutzerkontos fehlgeschlagen, es wurden keine Daten gelöscht', 'auth_proxy_failed' => 'Proxy-Authentifizierung fehlgeschlagen', 'auth_proxy_failed_legend' => '2Fauth ist so konfiguriert, dass es hinter einem Authentifizierungs-Proxy läuft, aber Ihr Proxy gibt nicht den erwarteten Header zurück. Überprüfen Sie Ihre Konfiguration und versuchen Sie es erneut.', diff --git a/resources/lang/de/twofaccounts.php b/resources/lang/de/twofaccounts.php index b04846f8..1c83c0cc 100644 --- a/resources/lang/de/twofaccounts.php +++ b/resources/lang/de/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Mein Glück versuchen', 'i_m_lucky_legend' => 'Durch "Mein Glück versuchen" können Sie das offizielle Symbol des jeweiligen Dienstes erhalten. Geben Sie den tatsächlichen Namen des Dienstes ohne die Erweiterung ".xyz" ein und versuchen Sie, Tippfehler zu vermeiden (Beta-Funktion)', 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Geheimnis', 'help' => 'Der Schlüssel, der zur Erzeugung Ihrer Sicherheitscodes verwendet wird' diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php index 5c64eaa3..2c93f9c2 100644 --- a/resources/lang/de/validation.php +++ b/resources/lang/de/validation.php @@ -143,6 +143,7 @@ 'single' => 'Bei Verwendung von :attribute muss es der einzige Parameter in diesem Anfragetext sein', 'onlyCustomOtpWithUri' => 'Der uri Parameter muss allein oder nur in Kombination mit dem \'custom_otp\' Parameter angegeben werden', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs müssen durch Komma getrennt werden, ohne Komma am Ende.', - ] + ], ], /* diff --git a/resources/lang/es/admin.php b/resources/lang/es/admin.php index 762175ec..ba9fb29f 100644 --- a/resources/lang/es/admin.php +++ b/resources/lang/es/admin.php @@ -13,35 +13,36 @@ | */ - 'admin' => 'Admin', - 'app_setup' => 'App setup', - 'registrations' => 'Registrations', - 'users' => 'Users', - 'users_legend' => 'Manage users registered on your instance or create new ones.', - 'admin_settings' => 'Admin settings', - 'create_new_user' => 'Create a user', - 'new_user' => 'New user', - 'search_user_placeholder' => 'User name, email...', - 'quick_filters_colons' => 'Quick filters:', - 'user_created' => 'user successfully created', + 'admin' => 'Administrador', + 'app_setup' => 'Configuración de la aplicación', + 'auth' => 'Auth', + 'registrations' => 'Registros', + 'users' => 'Usuarios', + 'users_legend' => 'Administre los usuarios registrados en su instancia o cree otros nuevos.', + 'admin_settings' => 'Ajustes de administración', + 'create_new_user' => 'Crear un usuario', + 'new_user' => 'Nuevo usuario', + 'search_user_placeholder' => 'Nombre de usuario, email...', + 'quick_filters_colons' => 'Filtros rápidos:', + 'user_created' => 'usuario creado correctamente', 'confirm' => [ - 'delete_user' => 'Are you sure you want to delete this user? There is no going back.', - 'request_password_reset' => 'Are you sure you want to reset this user\'s password?', - 'purge_password_reset_request' => 'Are you sure you want to revoke the previous request?', - 'delete_account' => 'Are you sure you want to delete this user?', - 'edit_own_account' => 'This is your own account. Are you sure?', - 'change_admin_role' => 'This will have serious impacts on this user\'s permissions. Are you sure?', - 'demote_own_account' => 'You will no longer be an administrator. Really sure?' + 'delete_user' => '¿Está seguro que desea eliminar este usuario? No hay vuelta atrás.', + 'request_password_reset' => '¿Está seguro de que desea restablecer la contraseña de este usuario?', + 'purge_password_reset_request' => '¿Está seguro que desea revocar la solicitud anterior?', + 'delete_account' => '¿Está seguro de que desea eliminar este usuario?', + 'edit_own_account' => 'Esta es tu propia cuenta. ¿Estás seguro?', + 'change_admin_role' => 'Esto tendrá graves impactos en los permisos de este usuario. ¿Estás seguro?', + 'demote_own_account' => 'Ya no serás administrador. ¿Estás seguro?' ], - 'logs' => 'Logs', - 'administration_legend' => 'Following settings are global and apply to all users.', - 'user_management' => 'User management', - 'oauth_provider' => 'OAuth provider', - 'account_bound_to_x_via_oauth' => 'This account is bound to a :provider account via OAuth', - 'last_seen_on_date' => 'Last seen :date', - 'registered_on_date' => 'Registered :date', - 'updated_on_date' => 'Updated :date', - 'access' => 'Access', + 'logs' => 'Registros', + 'administration_legend' => 'Los siguientes ajustes son globales y se aplican a todos los usuarios.', + 'user_management' => 'Gestión de usuarios', + 'oauth_provider' => 'Proveedor OAuth', + 'account_bound_to_x_via_oauth' => 'Esta cuenta está vinculada a una cuenta :provider a través de OAuth', + 'last_seen_on_date' => 'Visto por última vez :date', + 'registered_on_date' => 'Registrado :date', + 'updated_on_date' => 'Actualizado :date', + 'access' => 'Acceso', 'password_requested_on_t' => 'A password reset request exists for this user (request sent at :datetime), which means that the user has not yet changed their password but the link they received is still valid. This may be a request from the user themselves or from an administrator.', 'password_request_expired' => 'A password reset request exists for this user but has expired, meaning that the user has not changed their password in time. This may be a request from the user themselves or from an administrator.', 'resend_email' => 'Resend email', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php index e896740f..cd375ed4 100644 --- a/resources/lang/es/auth.php +++ b/resources/lang/es/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Cerrar sesión', 'sign_in' => 'Iniciar sesión', 'sign_in_using' => 'Inicia sesión, usando', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Iniciar sesión usando un dispositivo de seguridad', 'login_and_password' => 'usuario y contraseña', 'register' => 'Registrarse', @@ -34,6 +41,7 @@ 'maybe_later' => 'Quizás más tarde', 'user_account_controlled_by_proxy' => 'Cuenta de usuario disponible por un proxy de autenticación.
Administra la cuenta a nivel de proxy.', 'auth_handled_by_proxy' => 'Autenticación administrada por un proxy inverso, las configuraciones de abajo están deshabilitadas.
Gestionar autenticación a nivel proxy.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => '¿Seguro que quieres cerrar la sesión?', 'revoke_device' => '¿Está seguro que quiere eliminar este dispositivo?', @@ -79,6 +87,7 @@ 'name' => 'Nombre', 'login' => 'Iniciar sesión', 'webauthn_login' => 'Inicio de sesión WebAuthn', + 'sso_login' => 'SSO login', 'email' => 'E-mail', 'password' => 'Contraseña', 'reveal_password' => 'Revelar contraseña', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Reestablecer tu contraseña', 'reset_password' => 'Restablecer contraseña', 'disabled_in_demo' => 'Característica desactivada en el modo Demo', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Contraseña actual', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Recomendado (altamente)', 'caps_lock_is_on' => 'Bloqueo de mayúsculas está Activado', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/es/errors.php b/resources/lang/es/errors.php index 20c356b8..516da849 100644 --- a/resources/lang/es/errors.php +++ b/resources/lang/es/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => 'El dominio de 2FAuth\'s no es un dominio válido', 'user_id_not_between_1_64' => 'El ID de usuario no está entre 1 y 64 caracteres', 'no_entry_was_of_type_public_key' => 'Ninguna entrada es del tipo "clave pública"', - 'unsupported_with_reverseproxy' => 'No aplicable cuando se utiliza un proxy de autenticación', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'Error al borrar la cuenta de usuario, no se han eliminado datos', 'auth_proxy_failed' => 'La autenticación proxy falló', 'auth_proxy_failed_legend' => '2FAuth está configurado para ejecutarse detrás de un proxy de autenticación, pero, su proxy no devuelve el encabezado esperado. Compruebe su configuración e intente de nuevo.', diff --git a/resources/lang/es/twofaccounts.php b/resources/lang/es/twofaccounts.php index d0e95da5..5c7776f5 100644 --- a/resources/lang/es/twofaccounts.php +++ b/resources/lang/es/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Probar suerte', 'i_m_lucky_legend' => 'El botón "Probar suerte" intenta obtener el icono oficial del servicio dado. Introduzca el nombre del servicio sin la extensión ".xyz" e intente evitar errores tipográficos. (función beta)', 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Secreto', 'help' => 'La clave utilizada para generar sus códigos de seguridad' diff --git a/resources/lang/es/validation.php b/resources/lang/es/validation.php index d5aabedf..329994dd 100644 --- a/resources/lang/es/validation.php +++ b/resources/lang/es/validation.php @@ -143,6 +143,7 @@ 'single' => 'Cuando se usa :attribute, éste debe ser el único parámetro en este cuerpo de la solicitud', 'onlyCustomOtpWithUri' => 'El parámetro uri debe ser proporcionado solo o sólo en combinación con el parámetro \'custom_otp\'', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'Los IDs deben estar separados por comas, sin comas finales.', - ] + ], ], /* diff --git a/resources/lang/fr/admin.php b/resources/lang/fr/admin.php index f3d0fd22..afcb2bf7 100644 --- a/resources/lang/fr/admin.php +++ b/resources/lang/fr/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'Configuration', + 'auth' => 'Auth', 'registrations' => 'Inscriptions', 'users' => 'Utilisateurs', 'users_legend' => 'Gérer les utilisateurs de votre instance ou créer de nouveaux utilisateurs.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Afficher les entrées sur un an', 'sort_by_date_asc' => 'Afficher les plus anciens en premier', 'sort_by_date_desc' => 'Afficher les plus récents en premier', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protéger les données sensibles', @@ -105,9 +107,13 @@ 'help' => 'Empêche l\'inscription de nouveaux utilisateurs. A moins que ce réglage ne soit surchargé (voir ci-après), cela affecte également l\'inscription (c\'est à dire la première connexion) via SSO', ], 'enable_sso' => [ - 'label' => 'Activer l\'authentification unique (SSO)', + 'label' => 'Activer SSO', 'help' => 'Permet aux visiteurs de s\'authentifier avec un compte externe grâce à la méthode Single Sign-On', ], + 'use_sso_only' => [ + 'label' => 'Utiliser uniquement SSO', + 'help' => 'Définir SSO comme la seule méthode disponible pour se connecter à 2FAuth. La connexion par mot de passe ou Webauthn est alors désactivée pour les utilisateurs. Les administrateurs ne sont pas affectés par cette restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Garder l\'inscription via SSO activée', 'help' => 'Permet aux nouveaux utilisateurs de se connecter pour la première fois via SSO alors que les inscriptions sont désactivées', diff --git a/resources/lang/fr/auth.php b/resources/lang/fr/auth.php index 9e48dc5a..ba22e30f 100644 --- a/resources/lang/fr/auth.php +++ b/resources/lang/fr/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Déconnexion', 'sign_in' => 'Se connecter', 'sign_in_using' => 'Se connecter en utilisant', + 'if_administrator' => 'Administrateur ?', + 'sign_in_here' => 'Connectez-vous sans SSO', 'or_continue_with' => 'Vous pouvez aussi continuer avec :', + 'password_login_and_webauthn_are_disabled' => 'La connexion par mot de passe ou WebAuthn est désactivée.', + 'sign_in_using_sso' => 'Choisissez un fournisseur SSO pour vous connecter :', + 'no_provider' => 'aucun fournisseur', + 'no_sso_provider_or_provider_is_missing' => 'Fournisseur manquant ?', + 'see_how_to_enable_sso' => 'Voir comment activer un fournisseur', 'sign_in_using_security_device' => 'Se connecter en utilisant un périphérique de sécurité', 'login_and_password' => 'login & mot de passe', 'register' => 'Créer un compte', @@ -34,6 +41,7 @@ 'maybe_later' => 'Peut-être plus tard', 'user_account_controlled_by_proxy' => 'Compte utilisateur mis à disposition par un proxy d\'authentification.
Gérer le compte au niveau du proxy.', 'auth_handled_by_proxy' => 'Authentification gérée par un proxy inverse, les paramètres ci-dessous sont désactivés.
Gérer l\'authentification au niveau du proxy.', + 'sso_only_x_settings_are_disabled' => 'L\'authentification n\'est possible qu\'avec SSO, :auth_method est désactivé', 'confirm' => [ 'logout' => 'Etes-vous sûrs de vouloir vous déconnecter ?', 'revoke_device' => 'Voulez-vous vraiment supprimer cet appareil ?', @@ -79,6 +87,7 @@ 'name' => 'Nom', 'login' => 'Connexion', 'webauthn_login' => 'Connexion WebAuthn', + 'sso_login' => 'Connexion SSO', 'email' => 'Email', 'password' => 'Mot de passe', 'reveal_password' => 'Afficher le mot de passe', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Réinitialiser votre mot de passe', 'reset_password' => 'Mot de passe oublié', 'disabled_in_demo' => 'Fonctionnalité désactivée en mode Démo', + 'sso_only_form_restricted_to_admin' => 'Les utilisateurs doivent se connecter avec SSO. Les autres méthodes sont réservées aux administrateurs.', 'new_password' => 'Nouveau mot de passe', 'current_password' => [ 'label' => 'Mot de passe actuel', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Recommandé (fortement)', 'caps_lock_is_on' => 'Verr Maj est activé', ], - + 'sso_providers' => [ + 'unknown' => 'inconnu', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/fr/errors.php b/resources/lang/fr/errors.php index 935e9b6d..44fa6811 100644 --- a/resources/lang/fr/errors.php +++ b/resources/lang/fr/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => 'Le domaine de l\'instance 2FAuth n\'est pas un domaine valide', 'user_id_not_between_1_64' => 'L\'identifiant utilisateur n\'est pas compris entre 1 et 64 caractères', 'no_entry_was_of_type_public_key' => 'Aucune entrée de type "public-key"', - 'unsupported_with_reverseproxy' => 'Sans effet avec un proxy d\'authentification', + 'unsupported_with_reverseproxy' => 'Sans effet avec un proxy d\'authentification ou SSO', + 'unsupported_with_sso_only' => 'Cette méthode d\'authentification est réservée aux administrateurs. Les utilisateurs doivent se connecter avec SSO.', 'user_deletion_failed' => 'La suppression du compte utilisateur a échoué, aucune donnée n\'a été supprimée', 'auth_proxy_failed' => 'Échec de l\'authentification par le proxy', 'auth_proxy_failed_legend' => '2Fauth est configuré pour fonctionner derrière un proxy d\'authentification, mais votre proxy ne retourne pas l\'en-tête attendu. Vérifiez votre configuration et réessayez.', diff --git a/resources/lang/fr/twofaccounts.php b/resources/lang/fr/twofaccounts.php index 61d882f6..e9747396 100644 --- a/resources/lang/fr/twofaccounts.php +++ b/resources/lang/fr/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'J\'ai de la chance', 'i_m_lucky_legend' => 'Le bouton "J\'ai de la chance" essaie d\'obtenir l\'icône officielle du service renseigné. Entrez le nom exact du service, sans l\'extension ".xyz" et avec la bonne orthographe. (fonctionnalité bêta)', 'test' => 'Tester', + 'group' => [ + 'label' => 'Groupe', + 'help' => 'Le groupe auquel assigner le compte' + ], 'secret' => [ 'label' => 'Secret', 'help' => 'La clé utilisée pour générer vos codes de sécurité' diff --git a/resources/lang/fr/validation.php b/resources/lang/fr/validation.php index 554fc193..fe337f68 100644 --- a/resources/lang/fr/validation.php +++ b/resources/lang/fr/validation.php @@ -143,6 +143,7 @@ 'single' => 'Lors de l\'utilisation de :attribut, il doit être le seul paramètre dans le corps de la requête', 'onlyCustomOtpWithUri' => 'Le paramètre uri doit être fourni seul ou seulement avec le paramètre \'custom_otp\'', + 'IsValidRegex' => 'Le champ :attribute doit être une expression régulière valide.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'Les IDs doivent être séparés par des virgules, sans virgule en fin de chaîne.', - ] + ], ], /* diff --git a/resources/lang/hi/admin.php b/resources/lang/hi/admin.php index 9b237763..a1d9f3a8 100644 --- a/resources/lang/hi/admin.php +++ b/resources/lang/hi/admin.php @@ -15,6 +15,7 @@ 'admin' => 'ऐडमिन', 'app_setup' => 'ऐप का सेटअप', + 'auth' => 'Auth', 'registrations' => 'रजिस्ट्रेशन', 'users' => 'उपयोगकर्ता', 'users_legend' => 'अपने इंस्टेंस पर पंजीकृत उपयोगकर्ताओं को प्रबंधित करें या नए बनाएं।', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'पिछले साल की एंट्री दिखाएं', 'sort_by_date_asc' => 'सबसे कम नई पहले दिखाएं', 'sort_by_date_desc' => 'सबसे नई पहले दिखाएं', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'संवेदनशील डेटा को सुरक्षित करें', @@ -105,9 +107,13 @@ 'help' => 'नए उपयोगकर्ता रेजिस्ट्रेशन रोकें। जब तक इसे ओवरराइड नहीं किया जाता (नीचे देखें), यह SSO को भी प्रभावित करता है, इसलिए नए उपयोगकर्ता SSO के माध्यम से साइन इन नहीं कर पाएंगे', ], 'enable_sso' => [ - 'label' => 'सिंगल साइन-ऑन (SSO) सक्रिय करें', + 'label' => 'Enable SSO', 'help' => 'आगंतुकों को सिंगल साइन-ऑन योजना के माध्यम से बाहरी ID का उपयोग करके प्रमाणित करने की अनुमति दें', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO द्वारा रेजिस्ट्रेशन को सक्रिय रखें', 'help' => 'नए उपयोगकर्ताओं को SSO के माध्यम से पहली बार साइन इन करने की अनुमति दें जबकि रेजिस्ट्रेशन निष्क्रिय है', diff --git a/resources/lang/hi/auth.php b/resources/lang/hi/auth.php index 1b920197..3f242df9 100644 --- a/resources/lang/hi/auth.php +++ b/resources/lang/hi/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'साइन आउट करें', 'sign_in' => 'साइन इन करें', 'sign_in_using' => 'साइन इन के लिए चाहिए', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'आप ऐसे भी आगे जा सकते हैं:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'सुरक्षा उपकरण का उपयोग करके साइन इन करें', 'login_and_password' => 'लॉग इन और पासवर्ड', 'register' => 'रजिस्टर', @@ -34,6 +41,7 @@ 'maybe_later' => 'शायद बाद में', 'user_account_controlled_by_proxy' => 'उपयोगकर्ता का खाता प्रमाणीकरण प्रॉक्सी द्वारा उपलब्ध कराया गया है।
खाते को प्रॉक्सी स्तर पर प्रबंधित करें।', 'auth_handled_by_proxy' => 'प्रमाणीकरण को रिवर्स प्रॉक्सी द्वारा नियंत्रित किया गया है, नीचे दी गई सेटिंग्स अक्षम हैं।
प्रॉक्सी स्तर पर प्रमाणीकरण प्रबंधित करें।', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'क्या आप वास्तव में लॉग आउट करना चाहते हैं?', 'revoke_device' => 'क्या आप वास्तव में इस डिवाइस को निरस्त करना चाहते हैं?', @@ -79,6 +87,7 @@ 'name' => 'नाम', 'login' => 'लॉग इन करें', 'webauthn_login' => 'WebAuthn लॉगिन', + 'sso_login' => 'SSO login', 'email' => 'ईमेल', 'password' => 'पासवर्ड', 'reveal_password' => 'पासवर्ड प्रकट करें', @@ -94,6 +103,7 @@ 'reset_your_password' => 'अपना पासवर्ड रीसेट करें', 'reset_password' => 'पासवर्ड रीसेट करें', 'disabled_in_demo' => 'डेमो मोड में यह सुविधा अक्षम है', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'नया पासवर्ड', 'current_password' => [ 'label' => 'वर्तमान पासवर्ड', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'अनुशंसित (अत्यधिक)', 'caps_lock_is_on' => 'कैप्स लॉक ऑन है', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/hi/errors.php b/resources/lang/hi/errors.php index 5e12a13f..6cd3fea1 100644 --- a/resources/lang/hi/errors.php +++ b/resources/lang/hi/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth का डोमेन वैध डोमेन नहीं है', 'user_id_not_between_1_64' => 'उपयोगकर्ता आईडी 1 से 64 वर्णों के बीच नहीं थी', 'no_entry_was_of_type_public_key' => 'कोई भी प्रविष्टि "public-key" प्रकार की नहीं थी', - 'unsupported_with_reverseproxy' => 'ऑथ प्रॉक्सी का उपयोग करते समय लागू नहीं होता है', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'उपयोगकर्ता के कहते को हटाना विफल रहा, कोई डेटा हटाया नहीं गया है', 'auth_proxy_failed' => 'Proxy प्रमाणीकरण विफल रहा', 'auth_proxy_failed_legend' => '2Fauth को प्रमाणीकरण प्रॉक्सी के पीछे चलाने के लिए कॉन्फ़िगर किया गया है लेकिन आपकी प्रॉक्सी अपेक्षित हेडर वापस नहीं करती है। अपना कॉन्फ़िगरेशन जांचें और पुनः प्रयास करें।', diff --git a/resources/lang/hi/twofaccounts.php b/resources/lang/hi/twofaccounts.php index 5c1d0e1c..74edac0c 100644 --- a/resources/lang/hi/twofaccounts.php +++ b/resources/lang/hi/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'अपनी किस्मत आज़माएं', 'i_m_lucky_legend' => '"अपनी किस्मत आज़माएं" बटन द्वारा दी गई सेवा का आधिकारिक आइकन प्राप्त करने का प्रयास करें। ".xyz" एक्सटेंशन के बिना वास्तविक सेवा का नाम दर्ज करें और टाइपो से बचने का प्रयास करें। (बीटा सुविधा)', 'test' => 'जाँच', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'रहस्य', 'help' => 'आपके सुरक्षा कोड बनाने की कुंजी' diff --git a/resources/lang/hi/validation.php b/resources/lang/hi/validation.php index 7343fc18..d26fd9ab 100644 --- a/resources/lang/hi/validation.php +++ b/resources/lang/hi/validation.php @@ -143,6 +143,7 @@ 'single' => ':attribute का उपयोग करते समय वह इस request के body में एकमात्र पैरामीटर होना चाहिए', 'onlyCustomOtpWithUri' => 'URI पैरामीटर अकेले या केवल \'custom_otp\' पैरामीटर के संयोजन में प्रदान किया जाना चाहिए', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs को कॉमा से अलग किया जाना चाहिए, बिना अंतिम कॉमा के।', - ] + ], ], /* diff --git a/resources/lang/id/admin.php b/resources/lang/id/admin.php index 762175ec..ef68a501 100644 --- a/resources/lang/id/admin.php +++ b/resources/lang/id/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/id/auth.php b/resources/lang/id/auth.php index baa370da..6fa9e131 100644 --- a/resources/lang/id/auth.php +++ b/resources/lang/id/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Keluar', 'sign_in' => 'Masuk', 'sign_in_using' => 'Masuk dengan', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Masuk menggunakan sebuah perangkat keamanan', 'login_and_password' => 'masuk & kata sandi', 'register' => 'Mendaftar', @@ -34,6 +41,7 @@ 'maybe_later' => 'Mungkin nanti', 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', 'auth_handled_by_proxy' => 'Otentikasi ditangani oleh sebuah reverse proxy, pengaturan dibawah dimatikan.
Atur otentikasi pada level proxy.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Apakah Anda yakin ingin keluar?', 'revoke_device' => 'Anda yakin ingin menghapus perangkat ini?', @@ -78,6 +86,7 @@ 'name' => 'Name', 'login' => 'Login', 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', 'email' => 'Email', 'password' => 'Password', 'reveal_password' => 'Reveal password', @@ -93,6 +102,7 @@ 'reset_your_password' => 'Reset your password', 'reset_password' => 'Reset password', 'disabled_in_demo' => 'Feature disabled in Demo mode', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Current password', @@ -123,5 +133,9 @@ 'optional_rules_you_should_follow' => 'Recommanded (highly)', 'caps_lock_is_on' => 'Caps lock is On', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/id/errors.php b/resources/lang/id/errors.php index 6cbe36db..63bcf5b2 100644 --- a/resources/lang/id/errors.php +++ b/resources/lang/id/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', 'auth_proxy_failed' => 'Proxy authentication failed', 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', diff --git a/resources/lang/id/twofaccounts.php b/resources/lang/id/twofaccounts.php index 16c4673f..eae85f3e 100644 --- a/resources/lang/id/twofaccounts.php +++ b/resources/lang/id/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Coba keberuntunganku', 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', 'test' => 'Tes', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Secret', 'help' => 'The key used to generate your security codes' diff --git a/resources/lang/id/validation.php b/resources/lang/id/validation.php index b49f6f93..c86ec16f 100644 --- a/resources/lang/id/validation.php +++ b/resources/lang/id/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/it/admin.php b/resources/lang/it/admin.php index 762175ec..ef68a501 100644 --- a/resources/lang/it/admin.php +++ b/resources/lang/it/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/it/auth.php b/resources/lang/it/auth.php index 631eb6de..f4716b2f 100644 --- a/resources/lang/it/auth.php +++ b/resources/lang/it/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Disconnettiti', 'sign_in' => 'Accedi', 'sign_in_using' => 'Accedi con', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Accedi tramite un dispositivo di sicurezza', 'login_and_password' => 'nome utente e password', 'register' => 'Registrati', @@ -34,6 +41,7 @@ 'maybe_later' => 'Magari più tardi', 'user_account_controlled_by_proxy' => 'Account utente reso disponibile da un proxy di autenticazione.
Gestisci l\'account a livello di proxy.', 'auth_handled_by_proxy' => 'Autenticazione gestita da un proxy inverso, le impostazioni sottostanti sono disabilitate.
Gestisci l\'autenticazione a livello di proxy.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Sei sicuro di volerti disconnettere?', 'revoke_device' => 'Sei sicuro di voler eliminare questo dispositivo?', @@ -79,6 +87,7 @@ 'name' => 'Nome', 'login' => 'Login', 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', 'email' => 'Email', 'password' => 'Password', 'reveal_password' => 'Mostra password', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Reimposta la password', 'reset_password' => 'Ripristina password', 'disabled_in_demo' => 'Funzione disabilitata in modalità demo', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Password attuale', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Raccomandato (fortemente)', 'caps_lock_is_on' => 'Il blocco maiuscole è attivo', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/it/errors.php b/resources/lang/it/errors.php index b47bebed..8bc2f2af 100644 --- a/resources/lang/it/errors.php +++ b/resources/lang/it/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', 'auth_proxy_failed' => 'Proxy authentication failed', 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', diff --git a/resources/lang/it/twofaccounts.php b/resources/lang/it/twofaccounts.php index 04673914..92ddb567 100644 --- a/resources/lang/it/twofaccounts.php +++ b/resources/lang/it/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Try my luck', 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Secret', 'help' => 'The key used to generate your security codes' diff --git a/resources/lang/it/validation.php b/resources/lang/it/validation.php index d9f13e9b..bb0a0e47 100644 --- a/resources/lang/it/validation.php +++ b/resources/lang/it/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/ja/admin.php b/resources/lang/ja/admin.php index be6e0f32..c7ae5fda 100644 --- a/resources/lang/ja/admin.php +++ b/resources/lang/ja/admin.php @@ -15,6 +15,7 @@ 'admin' => '管理者', 'app_setup' => 'アプリの機能', + 'auth' => 'Auth', 'registrations' => '登録', 'users' => 'ユーザー', 'users_legend' => 'インスタンス上の登録ユーザーの管理や、新規作成を行います。', @@ -83,6 +84,7 @@ 'show_one_year_log' => '昨年からのエントリを表示', 'sort_by_date_asc' => '古い順', 'sort_by_date_desc' => '新しい順', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => '機密データを保護', @@ -105,9 +107,13 @@ 'help' => '新規ユーザー登録を禁止します。上書き(下記参照)されない限り、SSOにも影響し、新規ユーザーはSSOでもサインインできなくなります。', ], 'enable_sso' => [ - 'label' => 'シングルサインオン (SSO) を有効化', + 'label' => 'Enable SSO', 'help' => '訪問者が外部 ID のシングルサインオンを利用して認証できるようにします。', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO登録は許可する', 'help' => '新規登録が無効でも、新規ユーザーがSSO経由で初回サインインすることは許可する', diff --git a/resources/lang/ja/auth.php b/resources/lang/ja/auth.php index f42599f2..c151a17f 100644 --- a/resources/lang/ja/auth.php +++ b/resources/lang/ja/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'サインアウト', 'sign_in' => 'サインイン', 'sign_in_using' => 'ログイン方式:', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'または外部認証を利用:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'セキュリティデバイスでログイン', 'login_and_password' => 'IDとパスワード', 'register' => '新規登録', @@ -34,6 +41,7 @@ 'maybe_later' => 'あとで', 'user_account_controlled_by_proxy' => '認証プロキシを利用したアカウントです。
プロキシからアカウントを管理してください。', 'auth_handled_by_proxy' => 'リバースプロキシが認証を処理しているため、以下の設定は利用できません。
プロキシから認証を管理してください。', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'ログアウトしてもよろしいですか?', 'revoke_device' => 'このデバイスを失効させてもよろしいですか?', @@ -79,6 +87,7 @@ 'name' => '名前', 'login' => 'ログイン', 'webauthn_login' => 'WebAuthn ログイン', + 'sso_login' => 'SSO login', 'email' => 'メールアドレス', 'password' => 'パスワード', 'reveal_password' => 'パスワードを表示', @@ -94,6 +103,7 @@ 'reset_your_password' => 'パスワードをリセット', 'reset_password' => 'パスワードリセット', 'disabled_in_demo' => 'デモモードでは無効な機能です', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => '新しいパスワード', 'current_password' => [ 'label' => '現在のパスワード', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => '(強く)推奨', 'caps_lock_is_on' => 'Caps Lock がオンです!', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/ja/errors.php b/resources/lang/ja/errors.php index ae593097..4672f3fc 100644 --- a/resources/lang/ja/errors.php +++ b/resources/lang/ja/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth のドメインが有効なドメインではありません', 'user_id_not_between_1_64' => 'ユーザー ID は 1 文字以上 64 文字以内でなければなりません', 'no_entry_was_of_type_public_key' => '"public-key" 型の項目がありません', - 'unsupported_with_reverseproxy' => '認証プロキシ使用時は無効です', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'ユーザーアカウントを削除できませんでした。データは保存されたままです', 'auth_proxy_failed' => 'プロキシ認証に失敗しました', 'auth_proxy_failed_legend' => '2FAuth は認証プロキシ経由で動作するよう設定されていますが、プロキシは必要なヘッダーを返しませんでした。設定をご確認のうえ再度お試しください。', diff --git a/resources/lang/ja/notifications.php b/resources/lang/ja/notifications.php index 88baeb44..c6b44274 100644 --- a/resources/lang/ja/notifications.php +++ b/resources/lang/ja/notifications.php @@ -22,7 +22,7 @@ 'success' => '届いているようですね!' ], 'new_device' => [ - 'subject' => 'Connection to 2FAuth from a new device', + 'subject' => '新しいデバイスから 2FAuth に接続しました', 'resume' => '新しいデバイスがあなたの2FAuthアカウントに接続されました。', 'connection_details' => 'この接続の詳細は以下の通りです', 'recommandations' => '心当たりがある場合は、この通知を無視しても構いません。アカウントへの不審な行為が疑われる場合は、パスワードをご変更ください。' diff --git a/resources/lang/ja/settings.php b/resources/lang/ja/settings.php index 356edd3b..261a5408 100644 --- a/resources/lang/ja/settings.php +++ b/resources/lang/ja/settings.php @@ -67,19 +67,19 @@ ], 'close_otp_on_copy' => [ 'label' => 'コピー後にOTPを隠す', - 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + 'help' => '生成されたパスワードをクリックしてコピー後、自動的に非表示にします。' ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', - 'help' => 'Automatically hide on-screen password after a timeout. This avoids unnecessary requests for fresh passwords if you forget to close the password view.' + 'label' => 'OTP を自動で隠す', + 'help' => '一定時間後に画面上のパスワードを自動で非表示にします。うっかりパスワードを表示させたまま、無駄なパスワード更新リクエストが送られるのを防ぎます。' ], 'clear_search_on_copy' => [ 'label' => 'コピー後に検索欄を消去', 'help' => 'コードがクリップボードにコピーされた直後に検索欄を空にします' ], 'sort_case_sensitive' => [ - 'label' => 'Sort case sensitive', - 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + 'label' => '並び替えで大文字小文字を区別', + 'help' => 'オンにすると、並び替えで大文字と小文字のアカウント名を分離させます。' ], 'copy_otp_on_display' => [ 'label' => '表示時にOTPをコピー', @@ -133,8 +133,8 @@ 'help' => 'OTPをコピーした後、常に既定のグループに戻ります', ], 'auto_save_qrcoded_account' => [ - 'label' => 'Auto-save accounts', - 'help' => 'New accounts are automatically registered after scanning or uploading a QR code, no need to click a Save button', + 'label' => 'アカウントの自動保存', + 'help' => 'スキャンまたはQRコードをアップロードすると、「保存」ボタンを押さなくても新しいアカウントを自動的に登録します。', ], 'useDirectCapture' => [ 'label' => '選択画面を飛ばす', @@ -153,12 +153,12 @@ 'help' => 'OTPをいつどのように表示するか設定します。
', ], 'notify_on_new_auth_device' => [ - 'label' => 'On new device', - 'help' => 'Get an email when a new device connects to your 2FAuth account for the first time' + 'label' => '新規デバイス接続時', + 'help' => '新しいデバイスから 2FAuth アカウントに接続した時にメールを受け取る' ], 'notify_on_failed_login' => [ - 'label' => 'On failed login', - 'help' => 'Get an email each time an attempt to connect to your 2FAuth account fails' + 'label' => 'ログイン失敗時', + 'help' => '2FAuth アカウントへの接続失敗があった時にメールを受け取る' ], 'otp_generation_on_request' => 'クリック/タップで', 'otp_generation_on_request_legend' => '個別の画面で開く', @@ -169,7 +169,7 @@ 'never' => 'しない', 'on_otp_copy' => 'セキュリティコードをコピー後', '1_minutes' => '1 分で', - '2_minutes' => 'After 2 minutes', + '2_minutes' => '2 分後', '5_minutes' => '5 分で', '10_minutes' => '10 分で', '15_minutes' => '15 分で', diff --git a/resources/lang/ja/twofaccounts.php b/resources/lang/ja/twofaccounts.php index a8353eb1..6ff5e6ba 100644 --- a/resources/lang/ja/twofaccounts.php +++ b/resources/lang/ja/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => '適当に取得', 'i_m_lucky_legend' => '「適当に取得」ボタンは、指定したサービスの公式アイコンの取得を試みます。 ".xyz" といった語尾を除く実際のサービス名を、誤字のないよう入力してください。(ベータ機能)', 'test' => 'テスト', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'シークレット', 'help' => 'セキュリティコードの生成に使用されるキー' diff --git a/resources/lang/ja/validation.php b/resources/lang/ja/validation.php index 3a072eda..487f045d 100644 --- a/resources/lang/ja/validation.php +++ b/resources/lang/ja/validation.php @@ -143,6 +143,7 @@ 'single' => ':attributeを使用する場合、このリクエスト本文の唯一のパラメータにする必要があります。', 'onlyCustomOtpWithUri' => 'uri パラメータは単独または「custom_otp」パラメータと組み合わせて指定する必要があります。', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDはコンマで区切り、最後にはコンマを入れないでください。', - ] + ], ], /* diff --git a/resources/lang/ko/admin.php b/resources/lang/ko/admin.php new file mode 100644 index 00000000..4531f9ef --- /dev/null +++ b/resources/lang/ko/admin.php @@ -0,0 +1,136 @@ + '관리자', + 'app_setup' => '앱 설정', + 'auth' => 'Auth', + 'registrations' => '가입', + 'users' => '사용자', + 'users_legend' => '인스턴스에 등록된 사용자를 관리하거나 새 사용자를 추가합니다.', + 'admin_settings' => '관리자 설정', + 'create_new_user' => '사용자 추가', + 'new_user' => '새로운 사용자', + 'search_user_placeholder' => '사용자 이름, 이메일...', + 'quick_filters_colons' => '빠른 필터:', + 'user_created' => '사용자가 추가됨', + 'confirm' => [ + 'delete_user' => '정말 이 사용자를 삭제하시겠습니까? 되돌릴 수 없습니다.', + 'request_password_reset' => '이 사용자의 비밀번호를 재설정하시겠습니까?', + 'purge_password_reset_request' => '이전 요청을 정말 취소하시겠습니까?', + 'delete_account' => '정말 이 사용자를 삭제하시겠습니까?', + 'edit_own_account' => '본인의 계정입니다. 계속하시겠습니까?', + 'change_admin_role' => '이 사용자의 권한에 중요한 영향을 미칩니다. 계속하시겠습니까?', + 'demote_own_account' => '당신은 더 이상 관리자가 아니게 됩니다. 정말 계속하시겠습니까?' + ], + 'logs' => '로그', + 'administration_legend' => '다음 설정은 전역적이며 모든 사용자에게 적용됩니다.', + 'user_management' => '사용자 관리', + 'oauth_provider' => 'OAuth 제공자', + 'account_bound_to_x_via_oauth' => '이 계정은 OAuth를 통해 :provider 계정과 연결되어 있습니다', + 'last_seen_on_date' => '마지막 접속 :date', + 'registered_on_date' => '가입일 :date', + 'updated_on_date' => '수정일 :date', + 'access' => '접근', + 'password_requested_on_t' => '이 사용자에 대한 비밀번호 재설정 요청이 있습니다(요청이 :datetime에 전송됨). 이는 사용자가 아직 비밀번호를 변경하지 않았지만 전송된 링크가 여전히 유효하다는 의미입니다. 이 요청은 사용자 본인 또는 관리자에 의한 것일 수 있습니다.', + 'password_request_expired' => '이 사용자에 대한 비밀번호 재설정 요청이 있지만 만료되었으므로 사용자가 제때 비밀번호를 변경하지 않았음을 의미합니다. 이 요청은 사용자 본인 또는 관리자에 의한 것일 수 있습니다.', + 'resend_email' => '이메일 재전송', + 'resend_email_title' => '사용자에게 비밀번호 재설정 이메일 재전송', + 'resend_email_help' => '이메일 재전송을 통해 사용자에게 비밀번호를 재설정할 수 있도록 비밀번호 재설정 이메일을 새로 보냅니다. 이렇게 하면 현재 비밀번호는 그대로 유지되며 이전 요청은 모두 취소됩니다.', + 'reset_password' => '비밀번호 재설정', + 'reset_password_help' => '사용자에게 새 비밀번호를 설정할 수 있도록 비밀번호 재설정 이메일을 보내기 전에 비밀번호 재설정를 통해 비밀번호를 강제로 재설정(임시 비밀번호가 설정됨) 하고, 새 비밀번호를 설정할 수 있게 합니다. 이전 요청은 모두 취소됩니다.', + 'reset_password_title' => '사용자 비밀번호 재설정', + 'password_successfully_reset' => '비밀번호가 성공적으로 재설정됨', + 'user_has_x_active_pat' => ':count개의 활성 토큰', + 'user_has_x_security_devices' => ':count개의 보안 장치 (패스키)', + 'revoke_all_pat_for_user' => '모든 사용자의 토큰 비활성화', + 'revoke_all_devices_for_user' => '모든 사용자의 보안 장치 비활성화', + 'danger_zone' => '위험 구역', + 'delete_this_user_legend' => '사용자 계정은 모든 2FA 데이터와 함께 삭제됩니다.', + 'this_is_not_soft_delete' => '이는 영구 삭제이며, 되돌릴 수 없습니다.', + 'delete_this_user' => '이 사용자 삭제', + 'user_role_updated' => '사용자 역할 업데이트됨', + 'pats_succesfully_revoked' => '사용자의 PATs가 비활성화되었습니다.', + 'security_devices_succesfully_revoked' => '사용자의 보안 장치가 비활성화됨', + 'variables' => '변수', + 'cache_cleared' => '캐시 삭제됨', + 'cache_optimized' => '캐시 최적화됨', + 'check_now' => '지금 확인', + 'view_on_github' => 'Github에서 보기', + 'x_is_available' => '새 :version 버전 이용 가능', + 'successful_login_on' => ':login_at에서 로그인', + 'successful_logout_on' => ':login_at에서 로그아웃 성공', + 'failed_login_on' => ':login_at에서 로그인 실패', + 'viewed_on' => ':login_at에서 열람', + 'last_accesses' => '마지막 접속', + 'see_full_log' => '모든 로그 보기', + 'browser_on_platform' => ':browser on :platform', + 'access_log_has_more_entries' => '접속 로그에는 더 많은 항목이 포함되어 있습니다.', + 'access_log_legend_for_user' => ':username 사용자에 대한 전체 접속 로그', + 'show_last_month_log' => '지난 달 항목 표시', + 'show_three_months_log' => '지난 3개월 항목 표시', + 'show_six_months_log' => '지난 6개월 항목 표시', + 'show_one_year_log' => '지난 해 항목 표시', + 'sort_by_date_asc' => '오래된 순으로 표시', + 'sort_by_date_desc' => '최신 순으로 표시', + 'single_sign_on' => 'Single Sign-On (SSO)', + 'forms' => [ + 'use_encryption' => [ + 'label' => '민감한 데이터 보호', + 'help' => '민감한 데이터인 2FA 시크릿키와 이메일은 데이터베이스에 암호화되어 저장됩니다. .env 파일(또는 전체 파일)의 APP_KEY 값은 키 암호화 역할을 하므로 반드시 백업하세요. 이 키 없이는 암호화된 데이터를 복호화할 방법이 없습니다.', + ], + 'restrict_registration' => [ + 'label' => '가입 제한', + 'help' => '제한된 이메일 주소만 가입할 수 있도록 설정합니다. 두 규칙을 동시에 사용할 수 있습니다. 이는 SSO를 통한 가입에는 영향을 미치지 않습니다.', + ], + 'restrict_list' => [ + 'label' => '필터링 목록', + 'help' => '이 목록에 있는 이메일은 가입이 허용됩니다. 세로 막대("|") 로 주소를 구분합니다.', + ], + 'restrict_rule' => [ + 'label' => '필터링 규칙', + 'help' => '이 정규식과 일치하는 이메일은 가입이 허용됩니다.', + ], + 'disable_registration' => [ + 'label' => '가입 비활성화', + 'help' => '새 사용자 가입을 방지합니다. 재정의하지 않는 한(아래 참조), 이 설정은 SSO에도 영향을 미치므로 새 사용자는 SSO를 통해 로그인할 수 없습니다.', + ], + 'enable_sso' => [ + 'label' => 'Enable SSO', + 'help' => '방문자가 Single Sign-On 을 통해 외부 ID를 사용하여 인증할 수 있도록 허용', + ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], + 'keep_sso_registration_enabled' => [ + 'label' => 'SSO 가입을 활성화된 상태로 유지', + 'help' => '등록은 비활성화 되었어도 신규 사용자가 SSO를 통해 처음 로그인할 수 있도록 허용', + ], + 'is_admin' => [ + 'label' => '관리자 여부', + 'help' => '사용자에게 관리자 권한을 부여합니다. 관리자는 \'설정\' 및 \'사용자\'와 같은 전체 앱을 관리할 수 있는 권한을 갖지만 자신이 소유하지 않은 2FA의 비밀번호를 생성할 수는 없습니다.' + ], + 'test_email' => [ + 'label' => '이메일 구성 테스트', + 'help' => '인스턴스의 이메일 설정을 확인하기 위해 테스트 이메일을 보내세요. 설정이 정상적으로 되어 있지 않으면, 사용자가 비밀번호 재설정을 요청할 수 없습니다.', + 'email_will_be_send_to_x' => '이메일이 :email로 전송됩니다.', + ], + 'cache_management' => [ + 'label' => '캐시 관리', + 'help' => '환경 변수를 변경하거나 업데이트한 후와 같은 경우 캐시를 삭제해야 할 수 있습니다. 아래에서 삭제할 수 있습니다.', + ] + ], + +]; \ No newline at end of file diff --git a/resources/lang/ko/auth.php b/resources/lang/ko/auth.php new file mode 100644 index 00000000..ae531c54 --- /dev/null +++ b/resources/lang/ko/auth.php @@ -0,0 +1,142 @@ + '로그인 정보가 일치하지 않습니다.', + 'password' => '비밀번호가 일치하지 않습니다.', + 'throttle' => '로그인 시도가 너무 많습니다. :seconds초 후에 다시 시도하십시오.', + + // 2FAuth + 'sign_out' => '로그아웃', + 'sign_in' => '로그인', + 'sign_in_using' => '로그인 방식:', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', + 'or_continue_with' => '다른 방법으로 로그인:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', + 'sign_in_using_security_device' => '보안 장치로 로그인', + 'login_and_password' => '로그인 및 암호', + 'register' => '가입', + 'welcome_to_2fauth' => '2FAuth를 시작해보세요', + 'autolock_triggered' => '자동 잠금 설정됨', + 'autolock_triggered_punchline' => '자동 잠금이 설정되어 로그아웃되었습니다', + 'already_authenticated' => '이미 인증되었습니다. 먼저 로그아웃해주세요.', + 'authentication' => '인증', + 'maybe_later' => '나중에 하기', + 'user_account_controlled_by_proxy' => '인증 프록시에서 사용할 수 있는 사용자 계정입니다.
프록시를 통해 계정을 관리할 수 있습니다.', + 'auth_handled_by_proxy' => '역방향 프록시에서 인증이 처리되므로, 아래 설정은 비활성화됩니다.
프록시를 통해 인증을 관리할 수 있습니다.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', + 'confirm' => [ + 'logout' => '정말 로그아웃 하시겠습니까?', + 'revoke_device' => '이 장치를 삭제하시겠습니까?', + 'delete_account' => '정말 계정을 삭제하시겠습니까?', + ], + 'webauthn' => [ + 'security_device' => '보안 장치', + 'security_devices' => '보안 장치', + 'security_devices_legend' => '보안 키(예: Yubikey) 또는 생체 인식 기능이 있는 스마트폰(예: Apple FaceId/TouchId)과 같은 2FAuth 로그인에 사용할 수 있는 인증 장치', + 'enhance_security_using_webauthn' => 'WebAuthn 인증을 활성화하여 2FAuth 계정의 보안을 강화할 수 있습니다.

+ WebAuthn을 사용하면 신뢰할 수 있는 장치(예: Yubikeys 또는 생체 인식 기능이 있는 스마트폰) 를 사용하여 빠르고 안전하게 로그인할 수 있습니다.', + 'use_security_device_to_sign_in' => '보안 기기로 인증할 준비를 하세요. 보안키를 연결하거나, 마스크나 장갑을 벗는 등의 준비를 해주세요.', + 'lost_your_device' => '기기를 분실하셨나요?', + 'recover_your_account' => '계정 복구', + 'account_recovery' => '계정 복구', + 'recovery_punchline' => '2FAuth가 이메일 주소로 복구 링크를 전송합니다. 수신한 이메일의 링크를 클릭하고 지침을 따르세요.

본인 소유의 기기에서 이메일을 열어야 합니다.', + 'send_recovery_link' => '복구 링크 전송', + 'account_recovery_email_sent' => '계정 복구 이메일 전송됨!', + 'disable_all_security_devices' => '모든 보안 장치 비활성화', + 'disable_all_security_devices_help' => '모든 보안 장치가 비활성화됩니다. 보안 장치를 분실했거나 보안 위협이 발생한 경우 이 옵션을 사용하세요.', + 'register_a_new_device' => '장치 등록', + 'register_a_device' => '장치 등록', + 'device_successfully_registered' => '장치가 성공적으로 등록됨', + 'device_revoked' => '장치가 성공적으로 비활성화됨', + 'revoking_a_device_is_permanent' => '디바이스 비활성화는 영구적입니다.', + 'recover_account_instructions' => '계정을 복구하기 위해 2FAuth는 일부 Webauthn 설정을 초기화하여 이메일과 비밀번호를 사용하여 로그인할 수 있도록 합니다.', + 'invalid_recovery_token' => '유효하지 않은 복구 코드', + 'webauthn_login_disabled' => 'Webauthn 로그인 비활성화', + 'invalid_reset_token' => '이 재설정 토큰은 유효하지 않습니다.', + 'rename_device' => '장치 이름 변경', + 'my_device' => '내 장치', + 'unknown_device' => '알 수 없는 장치', + 'use_webauthn_only' => [ + 'label' => 'WebAuthn만 사용', + 'help' => 'WebAuthn을 2FAuth 계정 로그인의 유일한 인증 방식으로 설정합니다. 이는 WebAuthn의 향상된 보안을 활용하기 위한 권장 설정입니다.

+ 기기를 분실한 경우, 이 옵션을 해제하고 이메일과 비밀번호로 로그인하여 계정을 복구할 수 있습니다.

+ 주의! 이 옵션을 활성화해도 이메일 & 비밀번호 입력란은 계속 표시되지만, 항상 \'로그인 실패\' 응답을 반환합니다.' + ], + 'need_a_security_device_to_enable_options' => '다음 옵션을 사용하도록 하나 이상의 장치를 설정합니다.', + 'options' => '옵션', + ], + 'forms' => [ + 'name' => '이름', + 'login' => '로그인', + 'webauthn_login' => 'WebAuthn 로그인', + 'sso_login' => 'SSO login', + 'email' => '이메일', + 'password' => '비밀번호', + 'reveal_password' => '비밀번호 표시', + 'hide_password' => '비밀번호 숨김', + 'confirm_password' => '비밀번호 확인', + 'new_password' => '새 비밀번호', + 'confirm_new_password' => '새 비밀번호 확인', + 'dont_have_account_yet' => '아직 계정이 없으신가요?', + 'already_register' => '이미 가입하셨습니까?', + 'authentication_failed' => '인증 실패', + 'forgot_your_password' => '비밀번호를 잊으셨나요?', + 'request_password_reset' => '재설정', + 'reset_your_password' => '비밀번호 재설정', + 'reset_password' => '비밀번호 재설정', + 'disabled_in_demo' => '데모에서 비활성화된 기능', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', + 'new_password' => '새 비밀번호', + 'current_password' => [ + 'label' => '현재 비밀번호', + 'help' => '본인임을 확인하기 위해 현재 비밀번호를 입력하세요' + ], + 'change_password' => '비밀번호 변경', + 'send_password_reset_link' => '비밀번호 재설정 링크 전송', + 'password_successfully_reset' => '비밀번호가 성공적으로 재설정됨', + 'edit_account' => '계정 수정', + 'profile_saved' => '프로필이 업데이트되었습니다!', + 'welcome_to_demo_app_use_those_credentials' => '2FAuth 데모를 시작하세요.

다음 이메일 주소와 비밀번호를 입력해 접속할 수 있습니다. 이메일: demo@2fauth.app 비밀번호: demo', + 'welcome_to_testing_app_use_those_credentials' => '2FAuth 테스트를 시작하세요.

다음 이메일 주소와 비밀번호를 입력해 접속할 수 있습니다. 이메일: testing@2fauth.app 비밀번호: password', + 'register_punchline' => '2FAuth에 오신 것을 환영합니다.
계속 진행하려면 계정이 필요하므로 가입해주세요.', + 'reset_punchline' => '2FAuth에서 이 주소로 비밀번호 재설정 링크를 보내드립니다. 받은 이메일의 링크를 클릭하여 새 비밀번호를 설정하세요.', + 'name_this_device' => '장치 이름', + 'delete_account' => '계정 삭제', + 'delete_your_account' => '계정 삭제', + 'delete_your_account_and_reset_all_data' => '사용자 계정과 모든 2FA 데이터가 삭제됩니다. 되돌릴 수 없습니다.', + 'reset_your_password_to_delete_your_account' => '항상 SSO를 사용하여 로그인하는 경우 로그아웃한 다음 비밀번호 재설정 기능을 사용하여 여기에 입력할 수 있는 비밀번호를 확인하세요.', + 'deleting_2fauth_account_does_not_impact_provider' => '2FAuth 계정을 삭제해도 외부 SSO 계정에는 영향을 미치지 않습니다.', + 'user_account_successfully_deleted' => '계정을 성공적으로 삭제했습니다', + 'has_lower_case' => '소문자 포함', + 'has_upper_case' => '대문자 포함', + 'has_special_char' => '특수문자 포함', + 'has_number' => '숫자 포함', + 'is_long_enough' => '8자 이상', + 'mandatory_rules' => '필수', + 'optional_rules_you_should_follow' => '(강력히) 권장', + 'caps_lock_is_on' => 'Caps Lock 켜짐', + ], + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] +]; diff --git a/resources/lang/ko/commons.php b/resources/lang/ko/commons.php new file mode 100644 index 00000000..13f4db62 --- /dev/null +++ b/resources/lang/ko/commons.php @@ -0,0 +1,94 @@ + '취소', + 'update' => '업데이트', + 'copy' => '복사', + 'copy_to_clipboard' => '클립보드로 복사', + 'copied_to_clipboard' => '클립보드에 복사됨', + 'profile' => '프로필', + 'edit' => '편집', + 'delete' => '삭제', + 'disable' => '비활성화', + 'enable' => '활성화', + 'create' => '생성', + 'save' => '저장', + 'close' => '닫기', + 'clear' => '삭제', + 'clear_search' => '검색 창 지우기', + 'demo_do_not_post_sensitive_data' => '이 앱은 데모이므로 민감한 데이터를 게시하지 마세요.', + 'testing_do_not_post_sensitive_data' => '이 앱은 테스트 앱이므로 민감한 데이터를 게시하지 마세요.', + 'x_selected' => ':count개 선택됨', + 'name' => '이름', + 'manage' => '관리', + 'done' => '완료', + 'new' => '추가', + 'back' => '뒤로', + 'move' => '이동', + 'export' => '내보내기', + 'all' => '전체', + 'check_all' => '전체', + 'select_all' => '모두 선택', + 'clear_selection' => '선택 취소', + 'sort_descending' => '내림차순 정렬', + 'sort_ascending' => '오름차순 정렬', + 'rename' => '이름 바꾸기', + 'new_name' => '새 이름', + 'options' => '옵션', + 'reload' => '새로고침', + 'refresh' => '새로고침', + 'data_refreshed_to_reflect_server_changes' => '서버 측 변경 사항을 반영하기 위해 데이터가 갱신되었습니다', + 'generate' => '생성', + 'generating_otp' => 'OTP 생성', + 'open_in_browser' => '브라우저에서 열기', + 'continue' => '계속', + 'discard' => '취소', + 'about' => '정보', + 'usefull_links' => '유용한 링크', + 'environment' => '환경', + 'credits' => '크레딧', + '2fauth_teaser' => '2단계 인증(2FA) 계정을 관리하고 보안 코드를 생성할 수 있는 웹 앱', + 'made_with' => '다음으로 개발됨:', + 'ui_icons_by' => 'UI 아이콘:', + 'logos_by' => '로고:', + 'search' => '검색', + 'resources' => '리소스', + 'check_for_update' => '새로운 버전 확인', + 'check_for_update_help' => '2FAuth의 새 릴리스가 Github에 게시되면 자동으로 확인(일주일에 한 번) 하고 알려줍니다.', + 'you_are_up_to_date' => '최신 버전입니다', + '2fauth_description' => '2단계 인증(2FA) 계정을 관리하고 보안 코드를 생성할 수 있는 웹 앱', + 'image_of_qrcode_to_scan' => '스캔할 QR코드 이미지', + 'file' => '파일', + 'or' => '또는', + 'close_the_x_page' => ':pagetitle 페이지 닫기', + 'submit' => '완료', + 'default' => '기본값', + 'back_to_home' => '홈으로 돌아가기', + 'nothing' => '없음', + 'no_result' => '결과 없음', + 'information' => '정보', + 'send' => '전송', + 'optimize' => '최적화', + 'IP' => 'IP', + 'browser' => '브라우저', + 'operating_system_short' => '운영 체제', + 'no_entry_yet' => '아직 항목 없음', + 'time' => '시간', + 'ip_address' => 'IP 주소', + 'device' => '장치', + 'one_month' => '한 달.', + 'x_month' => ':x 달.', + 'one_year' => '1년.', +]; diff --git a/resources/lang/ko/errors.php b/resources/lang/ko/errors.php new file mode 100644 index 00000000..5759225a --- /dev/null +++ b/resources/lang/ko/errors.php @@ -0,0 +1,76 @@ + '리소스를 찾을 수 없음', + 'error_occured' => '오류 발생:', + 'refresh' => '새로고침', + 'no_valid_otp' => '이 QR코드에 유효한 OTP 리소스가 없습니다.', + 'something_wrong_with_server' => '서버에 문제가 발생했습니다.', + 'Unable_to_decrypt_uri' => 'Uri를 인식할 수 없습니다.', + 'not_a_supported_otp_type' => '이 OTP 형식은 현재 지원되지 않습니다.', + 'cannot_create_otp_without_secret' => '시크릿키 없이는 OTP를 만들 수 없습니다.', + 'data_of_qrcode_is_not_valid_URI' => '이 QR 코드의 데이터는 유효한 OTP 인증 URI가 아닙니다. QR 코드에 다음이 포함되어 있습니다:', + 'wrong_current_password' => '현재 비밀번호가 잘못되어 변경사항이 저장되지 않습니다.', + 'error_during_encryption' => '암호화에 실패하여 데이터베이스가 보호되지 않은 상태로 유지됩니다.', + 'error_during_decryption' => '암호 복호화에 실패했지만 데이터베이스는 여전히 보호됩니다. 이는 주로 하나 이상의 계정에 대해 암호화된 데이터의 무결성 문제로 인해 발생합니다.', + 'qrcode_cannot_be_read' => '이 QR코드를 읽을 수 없습니다', + 'too_many_ids' => '쿼리 매개 변수에 너무 많은 ID가 포함되었습니다(최대 100개 허용)', + 'delete_user_setting_only' => '사용자가 만든 설정만 삭제할 수 있습니다', + 'indecipherable' => '*해독할 수 없음*', + 'cannot_decipher_secret' => '암호를 해독할 수 없습니다. 이는 주로 2Fauth의 .env 구성 파일에 설정된 APP_KEY가 잘못되었거나 데이터베이스에 저장된 데이터가 손상된 경우 발생합니다.', + 'https_required' => 'HTTPS context 필요', + 'browser_does_not_support_webauthn' => '장치가 webauthn을 지원하지 않습니다. 최신 브라우저를 사용하여 다시 시도하세요.', + 'aborted_by_user' => '사용자에 의해 중단됨', + 'security_device_already_registered' => '장치가 이미 등록됨', + 'not_allowed_operation' => '작업이 허용되지 않음', + 'no_authenticator_support_specified_algorithms' => '지정된 알고리즘을 지원하는 인증서가 없습니다', + 'authenticator_missing_discoverable_credential_support' => '인증 방법에 검색 가능한 자격 증명 기능 없음', + 'authenticator_missing_user_verification_support' => '인증 방법에 사용자 확인 기능 없음', + 'unknown_error' => '알 수 없는 오류', + 'security_error_check_rpid' => '보안 오류
WEBAUTHN_ID 환경 변수를 확인하세요', + '2fauth_has_not_a_valid_domain' => '2FAuth의 도메인이 유효한 도메인이 아닙니다', + 'user_id_not_between_1_64' => '사용자 ID가 1~64자 사이가 아닙니다', + 'no_entry_was_of_type_public_key' => '"공개 키" 유형의 항목이 없습니다', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', + 'user_deletion_failed' => '사용자 계정 삭제 실패, 데이터가 삭제되지 않음', + 'auth_proxy_failed' => '프록시 인증 실패', + 'auth_proxy_failed_legend' => '2Fauth가 인증 프록시 하에서 실행되도록 구성되었지만 프록시가 올바른 헤더를 반환하지 않습니다. 구성을 확인하고 다시 시도하세요.', + 'invalid_x_migration' => '유효하지 않거나 읽을 수 없음 :appname 데이터', + 'invalid_2fa_data' => '유효하지 않은 2FA 데이터', + 'unsupported_migration' => '지원되는 데이터 형식이 아닙니다', + 'unsupported_otp_type' => '지원되지 않는 OTP 형식', + 'encrypted_migration' => '읽을 수 없음, 데이터가 암호화되어 있음', + 'no_logo_found_for_x' => ':service에 대한 사용가능한 로고 없음', + 'file_upload_failed' => '파일 업로드 실패', + 'unauthorized' => '권한 없음', + 'unauthorized_legend' => '이 리소스를 보거나 작업을 수행할 수 있는 권한이 없습니다', + 'cannot_delete_the_only_admin' => '유일한 관리자 계정을 삭제할 수 없습니다', + 'cannot_demote_the_only_admin' => '유일한 관리자 계정을 강등할 수 없습니다', + 'error_during_data_fetching' => '💀 데이터 가져오기 중 문제가 발생했습니다', + 'check_failed_try_later' => '확인 실패, 나중에 다시 시도하세요', + 'sso_disabled' => 'SSO 비활성화됨', + 'sso_bad_provider_setup' => '이 SSO 제공자가 .env 파일에 올바르게 설정되어 있지 않습니다.', + 'sso_failed' => 'SSO를 통한 인증이 거부됨', + 'sso_no_register' => '가입 비활성화됨', + 'sso_email_already_used' => '동일한 이메일 주소를 가진 사용자 계정이 이미 존재하지만 외부 계정 ID와 일치하지 않습니다. 이 이메일로 이미 2FAuth에 등록되어 있는 경우 SSO를 사용하지 마세요.', + 'account_managed_by_external_provider' => '외부 제공업체가 관리하는 계정', + 'data_cannot_be_refreshed_from_server' => '서버에서 데이터를 갱신할 수 없습니다', + 'no_pwd_reset_for_this_user_type' => '이 사용자는 비밀번호를 재설정할 수 없습니다', + 'cannot_detect_qrcode_in_image' => '이미지에서 QR 코드를 감지할 수 없습니다. 이미지를 잘라보세요.', + 'cannot_decode_detected_qrcode' => '감지된 QR 코드를 인식할 수 없습니다. 이미지를 자르거나 선명한 이미지를 사용해보세요.', + 'qrcode_has_invalid_checksum' => 'QR 코드에 잘못된 체크섬이 있습니다.', + 'no_readable_qrcode' => '인식 가능한 QR 코드 없음', +]; \ No newline at end of file diff --git a/resources/lang/ko/groups.php b/resources/lang/ko/groups.php new file mode 100644 index 00000000..a6df9229 --- /dev/null +++ b/resources/lang/ko/groups.php @@ -0,0 +1,41 @@ + '그룹', + 'create_group' => '새 그룹 만들기', + 'show_group_selector' => '그룹 선택 열기', + 'hide_group_selector' => '그룹 선택 닫기', + 'select_accounts_to_show' => '표시할 그룹 선택', + 'x_accounts' => ':count개의 계정', + 'manage_groups' => '그룹 관리', + 'active_group' => '활성 그룹', + 'manage_groups_legend' => '원하는 방식으로 계정을 분류하여 그룹을 만들 수 있습니다. 모든 계정은 소속 그룹과 관계없이 가상 그룹 \'전체\'에서 계속 표시됩니다.', + 'deleting_group_does_not_delete_accounts' => '그룹을 삭제해도 계정은 삭제되지 않습니다', + 'move_selected_to' => '다음으로 선택 항목 이동', + 'move_selected_to_group' => '선택 항목을 그룹으로 이동', + 'no_group' => '그룹 없음', + 'change_group' => '그룹 변경', + 'group_successfully_created' => '그룹이 추가됨', + 'group_name_saved' => '그룹 이름이 저장됨', + 'group_successfully_deleted' => '그룹이 삭제됨', + 'forms' => [ + 'new_group' => '새 그룹', + 'new_name' => '새 이름', + 'rename_group' => '그룹 이름 변경', + ], + 'confirm' => [ + 'delete' => '정말 이 그룹을 삭제하시겠습니까?', + ], +]; \ No newline at end of file diff --git a/resources/lang/ko/languages.php b/resources/lang/ko/languages.php new file mode 100644 index 00000000..2ee75abc --- /dev/null +++ b/resources/lang/ko/languages.php @@ -0,0 +1,24 @@ + '브라우저 설정', + 'en' => 'English (영어)', + 'fr' => 'Français (프랑스어)', + 'de' => 'Deutsch (독일어)', + 'es' => 'Español (스페인어)', + 'zh' => '简体中文 (중국어 간체)', + 'ru' => 'Pусский (러시아어)', + 'bg' => 'Български (불가리아어)', + 'ja' => '日本語 (일본어)', + 'hi' => 'हिंदी (힌디어)', + 'tr' => 'Türkçe (튀르키예어)', +]; \ No newline at end of file diff --git a/resources/lang/ko/notifications.php b/resources/lang/ko/notifications.php new file mode 100644 index 00000000..2c5eeb53 --- /dev/null +++ b/resources/lang/ko/notifications.php @@ -0,0 +1,36 @@ + '안녕하세요', + 'hello_user' => '{username}님 안녕하세요,', + 'regards' => '만나서 반갑습니다', + 'test_email_settings' => [ + 'subject' => '2FAuth 테스트 이메일', + 'reason' => '2FAuth 인스턴스의 이메일 설정을 확인하기 위해 테스트 이메일을 요청했으므로 이 이메일이 전송되었습니다.', + 'success' => '좋은 소식이네요, 잘 작동합니다 :)' + ], + 'new_device' => [ + 'subject' => '새로운 기기에서 2fAuth에 연결했습니다.', + 'resume' => '새 장치가 방금 2FAuth 계정에 연결되었습니다.', + 'connection_details' => '이 연결에 대한 자세한 내용은 다음과 같습니다.', + 'recommandations' => '이 경우 이 알림을 무시해도 됩니다. 계정에서 의심스러운 활동이 의심되는 경우 비밀번호를 변경하시기 바랍니다.' + ], + 'failed_login' => [ + 'subject' => '2FAuth 로그인 실패', + 'resume' => '사용자의 2FAuth 계정에서의 로그인 시도가 실패했습니다.', + 'connection_details' => '이 로그인 시도에 대한 자세한 내용은 다음과 같습니다.', + 'recommandations' => '사용자 본인이라면 이 경고를 무시해도 됩니다. 추가 시도가 실패하면 2FAuth 관리자에게 연락하여 보안 설정을 검토하고 이 공격자에 대한 조치를 취해야 합니다.' + ], +]; \ No newline at end of file diff --git a/resources/lang/ko/pagination.php b/resources/lang/ko/pagination.php new file mode 100644 index 00000000..6c070773 --- /dev/null +++ b/resources/lang/ko/pagination.php @@ -0,0 +1,19 @@ + '« 이전', + 'next' => '다음 »', + +]; diff --git a/resources/lang/ko/passwords.php b/resources/lang/ko/passwords.php new file mode 100644 index 00000000..ee3a8578 --- /dev/null +++ b/resources/lang/ko/passwords.php @@ -0,0 +1,26 @@ + '비밀번호가 재설정 되었습니다!', + 'sent' => '비밀번호 재설정 링크를 이메일로 전송했습니다!', + 'throttled' => '잠시 후 다시 시도해주세요.', + 'token' => '이 비밀번호 재설정 토큰은 유효하지 않습니다.', + 'user' => "입력한 이메일 주소로 사용자를 찾을 수 없습니다.", + + // 2FAuth + 'password' => '비밀번호는 8자리 이상이어야 하며 비밀번호 확인과 일치해야 합니다.', + +]; diff --git a/resources/lang/ko/settings.php b/resources/lang/ko/settings.php new file mode 100644 index 00000000..aa91bb58 --- /dev/null +++ b/resources/lang/ko/settings.php @@ -0,0 +1,184 @@ + '설정', + 'preferences' => '설정', + 'account' => '계정', + 'oauth' => 'OAuth', + 'webauthn' => 'WebAuthn', + 'tokens' => '토큰', + 'options' => '옵션', + 'user_preferences' => '사용자 개인 설정', + 'admin_settings' => '관리자 설정', + 'confirm' => [ + + ], + 'you_are_administrator' => '당신은 관리자입니다', + 'account_linked_to_sso_x_provider' => ':provider 계정을 사용하여 SSO를 통해 로그인했습니다. 여기에서 정보를 변경할 수 없고 :provider에서 변경할 수 있습니다.', + 'general' => '일반', + 'security' => '보안', + 'notifications' => '알림', + 'profile' => '프로필', + 'change_password' => '비밀번호 변경', + 'personal_access_tokens' => '개인 액세스 토큰', + 'token_legend' => '개인 액세스 토큰을 사용하면 모든 앱이 2FAuth API에 인증할 수 있습니다. 클라이언트 앱 요청의 authorization 헤더에 액세스 토큰을 Bearer token으로 지정해야 합니다.', + 'generate_new_token' => '새 토큰 생성', + 'revoke' => '삭제', + 'token_revoked' => '토큰이 성공적으로 비활성화됨', + 'revoking_a_token_is_permanent' => '토큰 비활성화는 영구적입니다.', + 'confirm' => [ + 'revoke' => '정말 이 토큰을 삭제하시겠습니까?', + ], + 'make_sure_copy_token' => '개인 액세스 토큰을 복사해두세요. 다시 확인할 수 없습니다!', + 'data_input' => '데이터 입력', + 'forms' => [ + 'edit_settings' => '설정 변경', + 'setting_saved' => '설정 저장됨', + 'new_token' => '새 토큰', + 'some_translation_are_missing' => '브라우저의 기본 언어에서 일부 번역이 누락되었나요?', + 'help_translate_2fauth' => '2FAuth 번역 기여', + 'language' => [ + 'label' => '언어', + 'help' => '2FAuth 사용자 인터페이스를 번역하는 데 사용되는 언어입니다. 표시된 언어는 번역이 완료된 언어이며, 원하는 언어로 설정하여 브라우저 기본 설정을 무시할 수 있습니다.' + ], + 'timezone' => [ + 'label' => '시간대', + 'help' => '서비스에 표시되는 모든 날짜와 시간에 적용되는 표준 시간대' + ], + 'show_otp_as_dot' => [ + 'label' => '생성된 OTP를 점으로 표시합니다.', + 'help' => '생성된 비밀번호를 ***로 바꾸어 보안을 유지하세요. 복사/붙여넣기 기능에 영향을 미치지 않습니다.' + ], + 'reveal_dotted_otp' => [ + 'label' => '가려진 OTP 표시', + 'help' => '점으로 가려진 비밀번호를 일시적으로 표시합니다.' + ], + 'close_otp_on_copy' => [ + 'label' => '복사 후 OTP 닫기', + 'help' => '생성된 비밀번호를 클릭하여 복사하면 화면에서 비밀번호가 자동으로 숨겨집니다.' + ], + 'auto_close_timeout' => [ + 'label' => 'OTP 자동 닫기', + 'help' => '일정 시간이 지나면 화면에 표시된 비밀번호를 자동으로 숨깁니다. 비밀번호 보기를 닫는 것을 잊어버렸을 때 불필요한 비밀번호 요청을 피할 수 있습니다.' + ], + 'clear_search_on_copy' => [ + 'label' => '복사 후 검색 창 지우기', + 'help' => '코드를 클립보드에 복사한 직후 검색 창을 비웁니다.' + ], + 'sort_case_sensitive' => [ + 'label' => '대소문자 구분 정렬', + 'help' => '정렬 함수가 호출되면 대소문자를 구분하여 계정을 정렬하도록 강제합니다.' + ], + 'copy_otp_on_display' => [ + 'label' => '화면에 표시된 OTP 복사', + 'help' => '생성된 비밀번호가 화면에 나타난 직후 자동으로 복사됩니다. 브라우저의 제한으로 인해 갱신된 비밀번호는 복사되지 않으며, 처음 TOTP 비밀번호만 복사됩니다.' + ], + 'use_basic_qrcode_reader' => [ + 'label' => '기본 QR 코드 리더기 사용', + 'help' => 'QR 코드를 캡처할 때 문제가 발생하는 경우 이 옵션을 활성화하여 기본 QR 코드 리더기를 사용할 수 있습니다.' + ], + 'display_mode' => [ + 'label' => '보기 방식', + 'help' => '계정을 목록으로 표시할지 그리드로 표시할지 선택합니다.' + ], + 'password_format' => [ + 'label' => '비밀번호 서식 지정', + 'help' => '비밀번호를 더 쉽게 읽고 기억할 수 있도록 숫자를 그룹화하여 표시 방식을 변경합니다.' + ], + 'pair' => '두 자리씩', + 'pair_legend' => '숫자를 두 자리씩 그룹화', + 'trio_legend' => '숫자를 세 자리씩 그룹화', + 'half_legend' => '숫자를 두 개의 동일한 그룹으로 분할', + 'trio' => '세 자리씩', + 'half' => '절반씩', + 'grid' => '그리드', + 'list' => '목록', + 'theme' => [ + 'label' => '테마', + 'help' => '특정 테마를 강제로 적용하거나 시스템/브라우저에 설정된 테마를 적용합니다.' + ], + 'light' => '라이트', + 'dark' => '다크', + 'automatic' => '자동', + 'show_accounts_icons' => [ + 'label' => '아이콘 표시', + 'help' => '메인 화면에 계정 아이콘 표시' + ], + 'get_official_icons' => [ + 'label' => '공식 아이콘 불러오기', + 'help' => '계정을 추가할 때 가능한 경우, 2FA 발급자의 공식 아이콘을 불러옵니다.' + ], + 'auto_lock' => [ + 'label' => '자동 잠금', + 'help' => '활동이 없는 경우 사용자를 자동으로 로그아웃합니다. 프록시에 의해 인증이 처리되고 사용자 지정 로그아웃 Url이 지정되지 않은 경우에는 작동하지 않습니다.' + ], + 'default_group' => [ + 'label' => '기본 그룹', + 'help' => '새로 만든 계정이 연결된 그룹', + ], + 'view_default_group_on_copy' => [ + 'label' => '복사 후 기본 그룹 표시', + 'help' => 'OTP를 복사 한 후 항상 기본 그룹으로 돌아갑니다.', + ], + 'auto_save_qrcoded_account' => [ + 'label' => '계정 자동 저장', + 'help' => 'QR코드를 스캔 또는 업로드하면 \'저장\' 버튼을 누르지 않아도 자동으로 새 계정을 등록할 수 있습니다.', + ], + 'useDirectCapture' => [ + 'label' => '직접 입력', + 'help' => '사용 가능한 입력 모드 중에서 입력 모드를 선택하라는 메시지를 표시할지 아니면 직접 입력 모드를 바로 사용할지 선택합니다.', + ], + 'defaultCaptureMode' => [ + 'label' => '기본 입력 모드', + 'help' => '직접 입력 옵션이 켜짐일 때 사용되는 기본 입력 모드', + ], + 'remember_active_group' => [ + 'label' => '그룹 필터 기억', + 'help' => '다음 접속 시 마지막으로 사용한 그룹 필터를 적용합니다.', + ], + 'otp_generation' => [ + 'label' => '비밀번호 표시', + 'help' => 'OTP가 표시되는 방법과 시기를 설정합니다.
', + ], + 'notify_on_new_auth_device' => [ + 'label' => '새로운 기기 연결 시', + 'help' => '새 장치가 2FAuth 계정에 처음으로 연결되면 이메일 받기' + ], + 'notify_on_failed_login' => [ + 'label' => '로그인 실패 시', + 'help' => '2FAuth 계정에 로그인 시도가 실패할 때마다 이메일 받기' + ], + 'otp_generation_on_request' => '클릭/탭 후', + 'otp_generation_on_request_legend' => '개별 화면으로 열기', + 'otp_generation_on_request_title' => '계정을 클릭하여 개별 화면에서 비밀번호 열기', + 'otp_generation_on_home' => '항상', + 'otp_generation_on_home_legend' => '홈 화면의 모든 것', + 'otp_generation_on_home_title' => '아무것도 하지 않아도 메인 화면에 모든 비밀번호를 표시', + 'never' => '안 함', + 'on_otp_copy' => '보안 키가 복사될 때', + '1_minutes' => '1분 후', + '2_minutes' => '2분 후', + '5_minutes' => '5분 후', + '10_minutes' => '10분 후에', + '15_minutes' => '15분 후', + '30_minutes' => '30분 후', + '1_hour' => '1시간 후', + '1_day' => '1일 후', + 'livescan' => 'QR 실시간 스캔', + 'upload' => 'QR코드 업로드', + 'advanced_form' => '고급 양식', + ], + +]; \ No newline at end of file diff --git a/resources/lang/ko/titles.php b/resources/lang/ko/titles.php new file mode 100644 index 00000000..4a61530c --- /dev/null +++ b/resources/lang/ko/titles.php @@ -0,0 +1,58 @@ + '새 계정', + 'capture' => 'QR 스캔', + 'accounts' => '계정', + 'createAccount' => '계정 생성', + 'importAccounts' => '계정 가져오기', + 'editAccount' => '계정 수정', + 'showQRcode' => '계정 QR 코드', + 'groups' => '그룹', + 'createGroup' => '그룹 생성', + 'editGroup' => '그룹 편집', + 'settings' => [ + 'options' => '옵션', + 'account' => '사용자 계정', + 'oauth' => [ + 'tokens' => 'OAuth 토큰', + 'generatePAT' => '새 개인 토큰', + ], + 'webauthn' => [ + 'editCredential' => '장치 편집', + 'devices' => 'WebAuthn 장치', + ], + ], + 'login' => '로그인', + 'register' => '가입', + 'autolock' => '자동 잠금', + 'password' => [ + 'request' => '비밀번호 재설정', + 'reset' => '새 비밀번호', + ], + 'webauthn' => [ + 'lost' => '계정 복구', + 'recover' => '장치 등록', + ], + 'flooded' => '너무 많은 요청', + 'genericError' => '오류', + '404' => '항목을 찾을 수 없음', + 'about' => '정보', + 'admin' => [ + 'appSetup' => '앱 설정', + 'users' => '사용자 관리', + 'createUser' => '사용자 생성', + 'manageUser' => '사용자 관리', + 'logs' => [ + 'access' => '접속 로그' + ] + ] +]; \ No newline at end of file diff --git a/resources/lang/ko/twofaccounts.php b/resources/lang/ko/twofaccounts.php new file mode 100644 index 00000000..af2fa229 --- /dev/null +++ b/resources/lang/ko/twofaccounts.php @@ -0,0 +1,175 @@ + '서비스', + 'account' => '계정', + 'icon' => '아이콘', + 'icon_to_illustrate_the_account' => '계정을 설명하는 아이콘', + 'remove_icon' => '아이콘 제거', + 'no_account_here' => '처음이신가요?', + 'add_first_account' => '다음과 같은 방법으로 첫 번째 계정을 추가하세요.', + 'use_full_form' => '또는 양식으로', + 'add_one' => '추가', + 'show_qrcode' => 'QR코드 표시', + 'no_service' => '- 서비스 없음 -', + 'account_created' => '계정이 생성되었습니다!', + 'account_updated' => '계정이 업데이트되었습니다', + 'accounts_deleted' => '계정이 삭제되었습니다', + 'accounts_moved' => '계정이 이동되었습니다', + 'export_selected_to_json' => '선택한 계정을 JSON으로 다운로드', + 'reveal' => '표시', + 'forms' => [ + 'service' => [ + 'placeholder' => 'Google, Twitter, Apple', + ], + 'account' => [ + 'placeholder' => '홍길동', + ], + 'new_account' => '새 계정', + 'edit_account' => '계정 편집', + 'otp_uri' => 'OTP Uri', + 'scan_qrcode' => 'QR코드 스캔', + 'upload_qrcode' => 'QR코드 업로드', + 'use_advanced_form' => '고급 양식 사용', + 'prefill_using_qrcode' => 'QR코드로 부터 자동 입력', + 'use_qrcode' => [ + 'val' => 'QR코드 사용', + 'title' => 'QR 코드를 사용하여 마법처럼 양식을 채우세요', + ], + 'unlock' => [ + 'val' => '잠금해제', + 'title' => '잠금 해제 (본인 책임)', + ], + 'lock' => [ + 'val' => '잠금', + 'title' => '잠그기', + ], + 'choose_image' => '업로드', + 'i_m_lucky' => '자동으로 불러오기', + 'i_m_lucky_legend' => '\'자동으로 불러오기\' 버튼은 이 서비스의 공식 아이콘을 가져오려고 시도합니다. ".xyz"와 같은 도메인을 제외한 실제 서비스 이름을 오타 없이 입력해 주세요. (베타 기능)', + 'test' => '테스트', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], + 'secret' => [ + 'label' => '시크릿키', + 'help' => '보안 코드를 생성하는 데 사용되는 키' + ], + 'plain_text' => '일반 텍스트', + 'otp_type' => [ + 'label' => '생성할 OTP 유형 선택', + 'help' => '시간 기반 OTP, HMAC 기반 OTP, Steam OTP 중 선택 가능' + ], + 'digits' => [ + 'label' => '자릿수', + 'help' => '생성된 보안 코드의 자릿수' + ], + 'algorithm' => [ + 'label' => '알고리즘', + 'help' => '보안 코드 보안에 사용되는 알고리즘' + ], + 'period' => [ + 'label' => '주기', + 'placeholder' => '기본값 30', + 'help' => '생성된 보안 코드의 유효 기간(초)' + ], + 'counter' => [ + 'label' => '카운터', + 'placeholder' => '기본값 0', + 'help' => '초기 카운터 값', + 'help_lock' => '카운터 값을 편집하면 계정과 서비스 인증 서버의 동기화가 해제될 수 있습니다. 이를 이해한 경우에만 자물쇠 아이콘을 통해 이 항목의 변경을 허용해 주세요.' + ], + 'image' => [ + 'label' => '이미지', + 'placeholder' => 'http://...', + 'help' => '계정 아이콘으로 사용할 외부 이미지의 URL' + ], + 'options_help' => '설정 방법을 모른다면 다음 옵션을 비워 두어도 됩니다. 가장 일반적으로 사용되는 값이 적용됩니다.', + 'alternative_methods' => '다른 방법', + 'spaces_are_ignored' => '불필요한 공백은 자동으로 제거됩니다.' + ], + 'stream' => [ + 'live_scan_cant_start' => '스캔할 수 없습니다 (ㅠ_ㅠ)', + 'need_grant_permission' => [ + 'reason' => '카메라에 액세스할 수 있는 권한이 없습니다', + 'solution' => '장치의 카메라 접근을 허용해 주세요. 이전에 액세스를 거부하여 브라우저가 다시 권한을 요청하지 않을 경우 브라우저 문서를 참고해 권한을 허용해주세요.', + 'click_camera_icon' => '일반적으로 브라우저의 주소 표시줄 안 또는 옆에 있는 카메라 아이콘을 클릭하여 권한을 허용할 수 있습니다.', + ], + 'not_readable' => [ + 'reason' => '스캐너 로드 실패', + 'solution' => '카메라가 이미 사용 중입니까? 다른 앱에서 카메라를 사용하지 않도록 하고 다시 시도해주세요.' + ], + 'no_cam_on_device' => [ + 'reason' => '기기에 카메라 없음', + 'solution' => '웹캠을 연결하는 것을 잊지 않았나요?' + ], + 'secured_context_required' => [ + 'reason' => '보안 context 필요', + 'solution' => '스캔을 위해서는 HTTPS가 필요합니다. 컴퓨터에서 2FAuth를 실행하는 경우 로컬 호스트 이외의 가상 호스트를 사용하지 마십시오.' + ], + 'https_required' => '카메라 스트리밍을 위해 HTTPS 필요', + 'camera_not_suitable' => [ + 'reason' => '연결된 카메라가 지원되지 않습니다', + 'solution' => '다른 장치나 카메라를 사용해주세요.' + ], + 'stream_api_not_supported' => [ + 'reason' => '이 브라우저에서 Stream API가 지원되지 않습니다 +', + 'solution' => '최신 브라우저를 사용해주세요.' + ], + ], + 'confirm' => [ + 'delete' => '정말로 이 계정을 삭제하시겠습니까?', + 'cancel' => '변경사항이 저장되지 않습니다. 계속하시겠습니까?', + 'discard' => '이 계정을 정말 삭제하시겠습니까?', + 'discard_all' => '정말 모든 계정을 삭제하시겠습니까?', + 'discard_duplicates' => '정말 모든 중복 항목을 삭제하시겠습니까?', + ], + 'import' => [ + 'import' => '가져오기', + 'to_import' => '가져오기', + 'import_legend' => '2FAuth는 다양한 2FA 앱에서 데이터를 가져올 수 있습니다.', + 'import_legend_afterpart' => '다른 앱의 내보내기 기능을 사용하여 QR 코드 또는 JSON 파일과 같은 마이그레이션 리소스를 가져온 다음 여기에 불러옵니다.', + 'upload' => '업로드', + 'scan' => '스캔', + 'supported_formats_for_qrcode_upload' => '허용되는 형식: jpg, jpeg, png, bmp, gif, svg, webp', + 'supported_formats_for_file_upload' => '허용되는 형식: 일반 텍스트, json, 2fas', + 'expected_format_for_direct_input' => '형식: 1행에 1개의 otpauth URI', + 'supported_migration_formats' => '지원되는 마이그레이션 형식', + 'qr_code' => 'QR코드', + 'text_file' => '텍스트 파일', + 'direct_input' => '직접 입력', + 'plain_text' => '일반 텍스트', + 'parsing_data' => '데이터 파싱 중...', + 'issuer' => '발행자', + 'imported' => '불러옴', + 'failure' => '실패', + 'x_valid_accounts_found' => ':count개의 유효한 계정 찾음', + 'submitted_data_parsed_now_accounts_are_awaiting_import' => '마이그레이션 리소스에 다음 2FA 계정이 있습니다. 2FAuth에는 아직 추가되지 않았습니다.', + 'use_buttons_to_save_or_discard' => '각 버튼을 사용하여 가져올지 삭제할지 선택해 주세요.', + 'import_all' => '모두 가져오기', + 'import_this_account' => '이 계정 가져오기', + 'discard_all' => '모두 삭제', + 'discard_duplicates' => '모든 중복 삭제', + 'discard_this_account' => '이 계정 삭제', + 'generate_a_test_password' => '테스트 비밀번호 생성', + 'possible_duplicate' => '완전히 동일한 계정이 이미 존재합니다', + 'invalid_account' => '- 올바르지 않은 계정 -', + 'invalid_service' => '- 올바르지 않은 서비스 -', + 'do_not_set_password_or_encryption' => '2FA 인증 앱에서 데이터를 내보낼 때 비밀번호 보호 및 암호화를 적용하지 마세요. 2FAuth로 데이터를 불러올 수 없습니다.', + ], + +]; \ No newline at end of file diff --git a/resources/lang/ko/validation.php b/resources/lang/ko/validation.php new file mode 100644 index 00000000..9997c774 --- /dev/null +++ b/resources/lang/ko/validation.php @@ -0,0 +1,207 @@ + ':attribute을(를) 동의해주세요.', + 'accepted_if' => '":other"가 :value일땐 ":attribute"에 반드시 동의해야 합니다.', + 'active_url' => ':attribute은(는) 유효한 URL이 아닙니다.', + 'after' => ':attribute은(는) 반드시 :date 이후 날짜여야 합니다.', + 'after_or_equal' => ':attribute은(는) :date 이후 날짜이거나 같은 날짜여야 합니다.', + 'alpha' => ':attribute은(는) 문자만 포함할 수 있습니다.', + 'alpha_dash' => ':attribute은(는) 영어나 숫자, 하이픈으로만 입력하실 수 있습니다.', + 'alpha_num' => ':attribute은(는) 문자와 숫자만 포함할 수 있습니다.', + 'array' => ':attribute은(는) 배열이어야 합니다.', + 'before' => ':attribute은(는) :date 이전의 날짜여야 합니다.', + 'before_or_equal' => ':Attribute은(는) :date 이전 날짜이거나 같은 날짜여야 합니다.', + 'between' => [ + 'array' => ':attribute은(는) 반드시 :min 과 :max 사이여야 합니다.', + 'file' => ':attribute의 용량은 :min에서 :max KB 사이여야 합니다.', + 'numeric' => ':attribute은(는) :min과 :max 사이의 값이어야 합니다.', + 'string' => ':attribute은(는) 반드시 :min 자에서 :max 자 사이여야 합니다.', + ], + 'boolean' => ':attribute은(는) true 또는 false 이어야 합니다.', + 'confirmed' => ':attribute 확인이 일치하지 않습니다.', + 'current_password' => '비밀번호가 일치하지 않습니다.', + 'date' => ':attribute는 올바른 날짜가 아닙니다.', + 'date_equals' => ':attribute은(는) :date와 같은 날짜여야 합니다.', + 'date_format' => ':attribute이(가) :format 형식과 일치하지 않습니다.', + 'declined' => ':attribute은(는) 거부되어야 합니다.', + 'declined_if' => ':other이(가) :value일때 :attribute은(는) 거부되어야 합니다.', + 'different' => ':attribute와(과) :other은(는) 서로 달라야 합니다.', + 'digits' => ':attribute은(는) 반드시 :digits 자릿수여야 합니다.', + 'digits_between' => ':attribute은(는) :min에서 :max 자리여야 합니다.', + 'dimensions' => ':attribute의 이미지 크기가 올바르지 않습니다.', + 'distinct' => ':attribute 필드에 중복된 값이 있습니다.', + 'doesnt_end_with' => ':attribute은(는) 다음 중 하나로 끝날 수 없습니다: :values.', + 'doesnt_start_with' => ':attribute은(는) 다음 중 하나로 시작할 수 없습니다: :values.', + 'email' => ':attribute은(는) 유효한 이메일 주소이여야 합니다.', + 'ends_with' => ':attribute은(는) 다음 중 하나로 끝나야 합니다: :values.', + 'enum' => '선택된 :attribute은(는) 올바르지 않습니다.', + 'exists' => '선택된 :attribute은(는) 올바르지 않습니다.', + 'file' => ':attribute은(는) 파일이어야 합니다.', + 'filled' => ':attribute은(는) 필수 사항입니다.', + 'gt' => [ + 'array' => ':attribute은(는) :value개 이상이어야 합니다.', + 'file' => ':attribute의 용량은 :value KB 이상이어야 합니다.', + 'numeric' => ':attribute의 값은 :value보다 커야 합니다.', + 'string' => ':attribute는 :value자 이상이어야합니다.', + ], + 'gte' => [ + 'array' => ':attribute은(는) :value개 이상이어야합니다.', + 'file' => ':attribute의 크기는 :value 킬로바이트 이상이어야 합니다.', + 'numeric' => ':attribute은(는) :value 이상이어야 합니다.', + 'string' => ':attribute은(는) :value 자 이상이어야 합니다.', + ], + 'image' => ':attribute은(는) 이미지여야 합니다.', + 'in' => '선택된 :attribute은(는) 올바르지 않습니다.', + 'in_array' => ':other에 :attribute이(가) 존재하지 않습니다.', + 'integer' => ':Attribute은(는) 정수여야 합니다.', + 'ip' => ':attribute은(는) 유효한 IP 주소여야 합니다.', + 'ipv4' => ':attribute은(는) 유효한 IPv4 주소여야 합니다.', + 'ipv6' => ':attribute은(는) 유효한 IPv6 주소여야 합니다.', + 'json' => ':attribute은(는) 유효한 JSON 문자여야 합니다.', + 'lt' => [ + 'array' => ':attribute은(는) :value개 미만이어야 합니다.', + 'file' => ':attribute은(는) :value KB 미만이어야 합니다.', + 'numeric' => ':attribute은(는) :value 미만이어야 합니다.', + 'string' => ':attribute은(는) :value 자 미만이어야 합니다.', + ], + 'lte' => [ + 'array' => ':attribute은(는) :value개 이하여야 합니다.', + 'file' => ':attribute은(는) :value KB 이하이어야 합니다.', + 'numeric' => ':attribute은(는) :value 이하이어야 합니다.', + 'string' => ':attribute은(는) :value 자 이하이어야 합니다.', + ], + 'mac_address' => ':attribute은(는) 올바른 MAC 주소여야 합니다.', + 'max' => [ + 'array' => ':attribute은(는) :max개보다 많을 수 없습니다.', + 'file' => ':attribute은(는) :max KB보다 클 수 없습니다.', + 'numeric' => ':attribute은(는) :max보다 클 수 없습니다.', + 'string' => ':attribute은(는) :max 자보다 많을 수 없습니다.', + ], + 'max_digits' => ':attribute은 :max 자를 넘지 않아야 합니다.', + 'mimes' => ':attribute은 :values 형식의 파일이어야 합니다.', + 'mimetypes' => ':attribute은 :values 형식의 파일이어야 합니다.', + 'min' => [ + 'array' => ':attribute은(는) :min 개 이상이어야 합니다.', + 'file' => ':attribute은(는) :min KB 이상이어야 합니다.', + 'numeric' => ':attribute은(는) :min 이상이어야 합니다.', + 'string' => ':attribute은(는) :min 자 이상이어야 합니다.', + ], + 'min_digits' => ':attribute은(는) :min 자릿수 이상이어야 합니다.', + 'multiple_of' => ':attribute은(는) :value 의 배수여야 합니다.', + 'not_in' => '선택된 :attribute은(는) 유효하지 않습니다.', + 'not_regex' => ':attribute의 형식이 올바르지 않습니다.', + 'numeric' => ':Attribute은(는) 숫자여야 합니다.', + 'password' => [ + 'letters' => ':attribute은(는) 반드시 1개 이상의 문자가 포함되야 합니다.', + 'mixed' => ':attribute에는 하나 이상의 대문자와 하나의 소문자가 포함되어야 합니다.', + 'numbers' => ':attribute 은(는) 적어도 하나의 숫자를 포함해야 합니다.', + 'symbols' => ':attribute은(는) 1개 이상의 특수문자가 포함되어야 합니다.', + 'uncompromised' => '주어진 :attribute 가 데이터 유출로 보입니다. 다른 :attribute 를 선택해주세요.', + ], + 'present' => ':attribute 항목은 필수입니다.', + 'prohibited' => ':attribute (은)는 금지되어 있습니다.', + 'prohibited_if' => ':attribute 필드는 :other 가 :value 일때 금지됩니다.', + 'prohibited_unless' => ':attribute (은)는 :other 이(가) :value 이(가) 아닌 경우 금지되어 있습니다.', + 'prohibits' => ':attribute 필드는 :other 이(가) 금지되어 있습니다.', + 'regex' => ':attribute의 형식이 올바르지 않습니다.', + 'required' => ':attribute 항목은 필수입니다.', + 'required_array_keys' => ':attribute 필드는 :values에 대한 항목을 포함해야 합니다.', + 'required_if' => ':other이(가) :value 일때 :attribute 필드는 필수입니다.', + 'required_if_accepted' => ':other이(가) 승인되면 :attribute 필드가 필요합니다.', + 'required_unless' => ':values에 :other이 아닌 이상 attribute 항목은 필수입니다.', + 'required_with' => ':values이(가) 있을 경우 :attribute 항목은 필수입니다.', + 'required_with_all' => ':values이(가) 있는 경우 :attribute 필드는 필수입니다.', + 'required_without' => ':values가 없는 경우 :attribute 필드는 필수입니다.', + 'required_without_all' => ':values(이)가 모두 없을 때 :attribute 항목은 필수입니다.', + 'same' => ':attribute와(과) :other이(가) 일치하지 않습니다.', + 'size' => [ + 'array' => ':attribute은(는) :size 개의 항목을 포함해야 합니다.', + 'file' => ':attribute 는 :size kilobytes 여야 합니다.', + 'numeric' => ':attribute은(는) :size여야 합니다.', + 'string' => ':attribute은(는) :size자여야 합니다.', + ], + 'starts_with' => ':attribute 는 반드시 다음으로 시작해야 합니다: :values.', + 'string' => ':attribute은(는) 반드시 문자열이어야 합니다.', + 'timezone' => ':attribute 는 올바른 시간대여야 합니다.', + 'unique' => ':attribute은(는) 이미 사용중 입니다.', + 'uploaded' => ':attribute을(를) 업로드하지 못했습니다.', + 'url' => ':attribute 는 반드시 올바른 URL이어야 합니다.', + 'uuid' => ':attribute은(는) 반드시 올바른 UUID여야 합니다.', + + 'single' => ':attribute 사용 시 이 요청 본문에서 유일한 매개변수여야 합니다.', + 'onlyCustomOtpWithUri' => 'Uri 매개변수는 단독으로 제공하거나 \'custom_otp\' 매개변수와 함께 제공해야만 합니다.', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'icon' => [ + 'image' => '지원되는 형식은 jpeg, png, bmp, gif, svg, 또는 webp입니다.', + ], + 'qrcode' => [ + 'image' => '지원되는 형식은 jpeg, png, bmp, gif, svg, 또는 webp입니다.', + ], + 'uri' => [ + 'regex' => ':attribute은(는) 올바른 otpauth uri가 아닙니다.', + ], + 'otp_type' => [ + 'in' => ':attribute이(가) 지원되지 않습니다.', + ], + 'email' => [ + 'exists' => '이 이메일을 사용하는 사용자를 찾지 못함', + 'ComplyWithEmailRestrictionPolicy' => '이 이메일 주소는 가입 정책을 준수하지 않습니다.', + 'IsValidEmailList' => '모든 이메일은 유효해야 하며 세로 막대(|)로 구분해야 합니다.' + ], + 'secret' => [ + 'isBase32Encoded' => ':attribute은(는) base32로 인코딩된 문자여야 합니다.', + ], + 'account' => [ + 'regex' => ':attribute은(는) 콜론을 포함할 수 없습니다.', + ], + 'service' => [ + 'regex' => ':attribute은(는) 콜론을 포함할 수 없습니다.', + ], + 'label' => [ + 'required' => 'Uri에는 라벨이 필요합니다.', + ], + 'ids' => [ + 'regex' => 'ID는 쉼표로 구분해야 하며 마지막에는 쉼표가 없어야 합니다.', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/resources/lang/nl/admin.php b/resources/lang/nl/admin.php new file mode 100644 index 00000000..6a72925f --- /dev/null +++ b/resources/lang/nl/admin.php @@ -0,0 +1,136 @@ + 'Beheerder', + 'app_setup' => 'App instellingen', + 'auth' => 'Auth', + 'registrations' => 'Registraties', + 'users' => 'Gebruikers', + 'users_legend' => 'Beheer gebruikers die geregistreerd zijn op uw instantie of maak nieuwe.', + 'admin_settings' => 'Beheerders instellingen', + 'create_new_user' => 'Een gebruiker aanmaken', + 'new_user' => 'Nieuwe gebruiker', + 'search_user_placeholder' => 'Gebruikersnaam, e-mail...', + 'quick_filters_colons' => 'Snelle filters:', + 'user_created' => 'gebruiker succesvol aangemaakt', + 'confirm' => [ + 'delete_user' => 'Weet je zeker dat je deze gebruiker wilt verwijderen? Er is geen weg terug.', + 'request_password_reset' => 'Weet je zeker dat je het wachtwoord van deze gebruiker opnieuw wilt instellen?', + 'purge_password_reset_request' => 'Weet je zeker dat je de vorige aanvraag wilt intrekken?', + 'delete_account' => 'Weet je zeker dat je deze gebruiker wilt verwijderen?', + 'edit_own_account' => 'Dit is je eigen account. Weet je het zeker?', + 'change_admin_role' => 'Dit zal ernstige gevolgen hebben voor de rechten van deze gebruiker. Weet je het zeker?', + 'demote_own_account' => 'Je zult niet langer beheerder zijn. Weet je het zeker?' + ], + 'logs' => 'Logboek', + 'administration_legend' => 'De volgende instellingen zijn globaal en gelden voor alle gebruikers.', + 'user_management' => 'Gebruikersbeheer', + 'oauth_provider' => 'OAuth provider', + 'account_bound_to_x_via_oauth' => 'Dit account is gekoppeld aan een :provider account via OAuth', + 'last_seen_on_date' => 'Laatst gezien :date', + 'registered_on_date' => 'Geregistreerd: :date', + 'updated_on_date' => 'Bijgewerkt :date', + 'access' => 'Toegang', + 'password_requested_on_t' => 'Er bestaat een wachtwoord reset verzoek voor deze gebruiker (verzoek verzonden op :datetime), dit betekent dat de gebruiker zijn wachtwoord nog niet heeft gewijzigd, maar dat de link die hij heeft ontvangen nog steeds geldig is. Dit kan een verzoek zijn van de gebruiker zelf of van een beheerder.', + 'password_request_expired' => 'Er bestaat een wachtwoord reset verzoek voor deze gebruiker (verzoek verzonden op: datetime), dit betekent dat de gebruiker zijn wachtwoord nog niet heeft gewijzigd, maar dat de link die hij heeft ontvangen nog steeds geldig is. Dit kan een verzoek zijn van de gebruiker zelf of van een beheerder.', + 'resend_email' => 'E-mail opnieuw versturen', + 'resend_email_title' => 'Stuur een wachtwoord reset e-mail opnieuw naar de gebruiker', + 'resend_email_help' => 'Gebruik E-mail om een nieuw wachtwoord reset e-mail te sturen naar de gebruiker zodat hij een nieuw wachtwoord kan instellen. Dit laat het huidige wachtwoord zoals het is en elk eerdere verzoek wordt ingetrokken.', + 'reset_password' => 'Wachtwoord herstellen', + 'reset_password_help' => 'Gebruik Reset wachtwoord om een nieuw wachtwoord te forceren (dit zal een tijdelijk wachtwoord instellen) voordat u een wachtwoord reset e-mail stuurt naar de gebruiker zodat deze een nieuw wachtwoord kan instellen. Een eerdere aanvraag wordt ingetrokken.', + 'reset_password_title' => 'Herstel het wachtwoord van de gebruiker', + 'password_successfully_reset' => 'Wachtwoord succesvol hersteld', + 'user_has_x_active_pat' => ':count actieve token(s)', + 'user_has_x_security_devices' => ':count beveiligingsapparaten (passkeys)', + 'revoke_all_pat_for_user' => 'Alle tokens van gebruiker intrekken', + 'revoke_all_devices_for_user' => 'Alle beveiligingsapparaten van gebruikers intrekken', + 'danger_zone' => 'Gevarenzone', + 'delete_this_user_legend' => 'De gebruikersaccount zal worden verwijderd evenals alle 2FA-gegevens.', + 'this_is_not_soft_delete' => 'Dit is geen zachte verwijdering, er is geen weg terug.', + 'delete_this_user' => 'Deze gebruiker verwijderen', + 'user_role_updated' => 'Gebruikersrol bijgewerkt', + 'pats_succesfully_revoked' => 'PAT\'s van gebruiker succesvol ingetrokken', + 'security_devices_succesfully_revoked' => 'Toegangsapparaten van gebruiker succesvol ingetrokken', + 'variables' => 'Variabelen', + 'cache_cleared' => 'Cache geleegd', + 'cache_optimized' => 'Cache geoptimaliseerd', + 'check_now' => 'Controleer nu', + 'view_on_github' => 'Bekijk op GitHub', + 'x_is_available' => ':version is beschikbaar', + 'successful_login_on' => 'Succesvolle aanmelding op :login_at', + 'successful_logout_on' => 'Succesvol uitgelogd op :login_at', + 'failed_login_on' => 'Mislukte aanmelding op :login_at', + 'viewed_on' => 'Bekeken op :login_at', + 'last_accesses' => 'Laatst geopend', + 'see_full_log' => 'Bekijk volledige log', + 'browser_on_platform' => ':browser op :platform', + 'access_log_has_more_entries' => 'Het toegangslogboek bevat meer vermeldingen.', + 'access_log_legend_for_user' => 'Volledige toegangslog voor gebruiker :username', + 'show_last_month_log' => 'Toon items van de laatste maand', + 'show_three_months_log' => 'Toon items van de laatste 3 maanden', + 'show_six_months_log' => 'Toon items van de laatste 6 maanden', + 'show_one_year_log' => 'Toon items van het afgelopen jaar', + 'sort_by_date_asc' => 'Toon minst recent eerst', + 'sort_by_date_desc' => 'Toon meest recente eerst', + 'single_sign_on' => 'Single Sign-On (SSO)', + 'forms' => [ + 'use_encryption' => [ + 'label' => 'Bescherm gevoelige gegevens', + 'help' => 'Gevoelige gegevens, de 2FA-geheimen en e-mails, worden versleuteld in de database. Zorg ervoor dat u een back-up maakt van de APP_KEY waarde van uw . nv bestand (of het hele bestand) wordt gebruikt als sleutelencryptie. Er is geen manier om gecodeerde data te decyperen zonder deze sleutel.', + ], + 'restrict_registration' => [ + 'label' => 'Registratie beperken', + 'help' => 'Maak registratie alleen beschikbaar voor een beperkt aantal e-mailadressen. Beide regels kunnen tegelijkertijd worden gebruikt. Dit heeft geen effect op de registratie via SSO.', + ], + 'restrict_list' => [ + 'label' => 'Filter lijst', + 'help' => 'E-mails in deze lijst zijn toegestaan om te registreren. Scheid adressen met een pijp ("~")', + ], + 'restrict_rule' => [ + 'label' => 'Regels filteren', + 'help' => 'E-mails die overeenkomen met deze reguliere expressie zijn toegestaan om te registreren', + ], + 'disable_registration' => [ + 'label' => 'Schakel registratie uit', + 'help' => 'Voorkom de registratie van nieuwe gebruikers. Tenzij hieronder overschreven (zie hieronder), heeft dit invloed op SSO, zodat nieuwe gebruikers niet kunnen inloggen via SSO', + ], + 'enable_sso' => [ + 'label' => 'Enable SSO', + 'help' => 'Sta bezoekers toe om zich te verifiëren met behulp van een extern ID via het Single Sign-On schema', + ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], + 'keep_sso_registration_enabled' => [ + 'label' => 'SSO-registratie ingeschakeld houden', + 'help' => 'Sta nieuwe gebruikers toe om voor de eerste keer via SSO in te loggen terwijl registratie is uitgeschakeld', + ], + 'is_admin' => [ + 'label' => 'Is beheerder', + 'help' => 'Geef beheerder rechten aan gebruiker. Beheerders hebben rechten om de hele app te beheren, o.a. Instellingen en andere gebruikers, maar kunnen geen wachtwoord genereren voor een 2FA waarvan ze geen eigenaar zijn.' + ], + 'test_email' => [ + 'label' => 'E-mail configuratie test', + 'help' => 'Stuur een test e-mail om de e-mailconfiguratie van uw instantie te beheren. Het is belangrijk om een werkende configuratie te hebben, anders kunnen gebruikers geen nieuw wachtwoord aanvragen.', + 'email_will_be_send_to_x' => 'De e-mail zal worden verzonden naar :email', + ], + 'cache_management' => [ + 'label' => 'Cachebeheer', + 'help' => 'Soms moet de cache worden geleegd, bijvoorbeeld na een wijziging in omgevingsvariabelen of een update. Je kunt dit hier doen.', + ] + ], + +]; \ No newline at end of file diff --git a/resources/lang/nl/auth.php b/resources/lang/nl/auth.php new file mode 100644 index 00000000..15588687 --- /dev/null +++ b/resources/lang/nl/auth.php @@ -0,0 +1,142 @@ + 'Deze inloggegevens zijn niet bij ons bekend.', + 'password' => 'Het opgegeven wachtwoord is onjuist.', + 'throttle' => 'Te veel inlogpogingen. Probeer het opnieuw over :seconds seconden.', + + // 2FAuth + 'sign_out' => 'Uitloggen', + 'sign_in' => 'Inloggen', + 'sign_in_using' => 'Inloggen met', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', + 'or_continue_with' => 'Je kunt ook doorgaan met:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', + 'sign_in_using_security_device' => 'Log in met een beveiligingsapparaat', + 'login_and_password' => 'lnloggen & wachtwoord', + 'register' => 'Registreren', + 'welcome_to_2fauth' => 'Welkom bij 2FAuth', + 'autolock_triggered' => 'Automatisch vergrendelen geactiveerd', + 'autolock_triggered_punchline' => 'Automatisch vergrendelen geactiveerd, je bent uitgelogd', + 'already_authenticated' => 'Al geauthenticeerd, log eerst uit', + 'authentication' => 'Authenticatie', + 'maybe_later' => 'Misschien later', + 'user_account_controlled_by_proxy' => 'Gebruikersaccount beschikbaar gesteld door een authenticatieproxy.
Beheer het account op proxyniveau.', + 'auth_handled_by_proxy' => 'Verificatie die wordt afgehandeld door een reverse proxy, hieronder zijn uitgeschakeld.
Authenticatie beheren op proxyniveau.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', + 'confirm' => [ + 'logout' => 'Weet je zeker dat je wilt uitloggen?', + 'revoke_device' => 'Weet u zeker dat u dit apparaat wilt verwijderen?', + 'delete_account' => 'Weet je zeker dat je je account wilt verwijderen?', + ], + 'webauthn' => [ + 'security_device' => 'een beveiligingsapparaat', + 'security_devices' => 'Beveiligingsapparaten', + 'security_devices_legend' => 'Verificatieapparaten die u kunt gebruiken om in 2FAuth, zoals beveiligingstoetsen (bijv. e Yubikey) of smartphones met biometrische mogelijkheden (zoals Apple FaceId/TouchId)', + 'enhance_security_using_webauthn' => 'U kunt de beveiliging van uw 2FAuth-account verbeteren door WebAuthn authenticatie in te schakelen.

+ WebAuthn stelt u in staat om snel en veiliger beveiligde apparaten (zoals Yubikeys of smartphones met biometrische mogelijkheden) te gebruiken.', + 'use_security_device_to_sign_in' => 'Maak je klaar om te verifiëren met (één van) je beveiligingsapparaten. Steek je beveiligingsapparaat in, verwijder gezicht masker of handschoenen etc.', + 'lost_your_device' => 'Je apparaat verloren?', + 'recover_your_account' => 'Herstel je account', + 'account_recovery' => 'Accountherstel', + 'recovery_punchline' => '2FAuth stuurt u een herstel-link naar dit e-mailadres. Klik op de link in de ontvangen e-mail en volg de instructies.

Zorg ervoor dat u de e-mail opent op een apparaat dat u volledig bezit.', + 'send_recovery_link' => 'Herstellink verzenden', + 'account_recovery_email_sent' => 'Account herstel e-mail verzonden!', + 'disable_all_security_devices' => 'Alle beveiligingsapparaten uitschakelen', + 'disable_all_security_devices_help' => 'Al uw beveiligingsapparaten zullen worden ingetrokken. Gebruik deze optie als u één hebt verloren, of als de beveiliging is aangetast.', + 'register_a_new_device' => 'Registreer een nieuw apparaat', + 'register_a_device' => 'Apparaat registreren', + 'device_successfully_registered' => 'Apparaat succesvol geregistreerd', + 'device_revoked' => 'Apparaat succesvol ingetrokken', + 'revoking_a_device_is_permanent' => 'Een apparaat intrekken is permanent', + 'recover_account_instructions' => 'Om uw account te herstellen, stelt 2FAuth een aantal Webauthn instellingen opnieuw in, zodat u kunt inloggen met uw e-mailadres en wachtwoord.', + 'invalid_recovery_token' => 'Ongeldige herstelcode', + 'webauthn_login_disabled' => 'Webauthn inloggen uitgeschakeld', + 'invalid_reset_token' => 'Deze reset token is ongeldig.', + 'rename_device' => 'Apparaat hernoemen', + 'my_device' => 'Mijn apparaat', + 'unknown_device' => 'Onbekend apparaat', + 'use_webauthn_only' => [ + 'label' => 'Gebruik alleen WebAuthn', + 'help' => 'Maak WebAuthn de enige geautoriseerde methode om in te loggen op uw 2FAuth account. Dit is de aanbevolen instelling om gebruik te maken van de verbeterde WebAuthn beveiliging.

+ In geval van verlies van apparaat, u kunt uw account herstellen door deze optie te resetten en in te loggen met uw e-mailadres en wachtwoord.

+ Opgelet! Het e-mail & wachtwoord formulier blijft beschikbaar ondanks deze optie ingeschakeld, maar het zal altijd een \'Authenticatie mislukt\' antwoord teruggeven.' + ], + 'need_a_security_device_to_enable_options' => 'Stel ten minste één apparaat in om de volgende opties in te schakelen', + 'options' => 'Opties', + ], + 'forms' => [ + 'name' => 'Naam', + 'login' => 'Inloggen', + 'webauthn_login' => 'WebAuthn inloggen', + 'sso_login' => 'SSO login', + 'email' => 'E-mail', + 'password' => 'Wachtwoord', + 'reveal_password' => 'Toon wachtwoord', + 'hide_password' => 'Verberg wachtwoord', + 'confirm_password' => 'Bevestig wachtwoord', + 'new_password' => 'Nieuw wachtwoord', + 'confirm_new_password' => 'Bevestig nieuw wachtwoord', + 'dont_have_account_yet' => 'Heb je nog geen account?', + 'already_register' => 'Al geregistreerd?', + 'authentication_failed' => 'Authenticatie mislukt', + 'forgot_your_password' => 'Je wachtwoord vergeten?', + 'request_password_reset' => 'Herstellen', + 'reset_your_password' => 'Herstel je wachtwoord', + 'reset_password' => 'Wachtwoord herstellen', + 'disabled_in_demo' => 'Functie uitgeschakeld in Demo modus', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', + 'new_password' => 'Nieuw wachtwoord', + 'current_password' => [ + 'label' => 'Huidig wachtwoord', + 'help' => 'Vul je huidige wachtwoord in om te bevestigen dat jij het bent' + ], + 'change_password' => 'Wijzig wachtwoord', + 'send_password_reset_link' => 'Wachtwoord herstel link sturen', + 'password_successfully_reset' => 'Wachtwoord succesvol hersteld', + 'edit_account' => 'Wijzig account', + 'profile_saved' => 'Profiel succesvol bijgewerkt!', + 'welcome_to_demo_app_use_those_credentials' => 'Welkom op de 2FAuth demo.

U kunt verbinden met het e-mailadres demo@2fauth.app en het wachtwoord demo', + 'welcome_to_testing_app_use_those_credentials' => 'Welkom bij de 2FAuth test instantie.

Gebruik e-mailadres testing@2fauth.app en wachtwoord wachtwoord', + 'register_punchline' => 'Welkom bij 2FAuth.
U heeft een account nodig om verder te gaan, registreer uzelf.', + 'reset_punchline' => '2FAuth zal u een wachtwoord reset link sturen naar dit adres. Klik op de link in de ontvangen e-mail om een nieuw wachtwoord in te stellen.', + 'name_this_device' => 'Naam van dit apparaat', + 'delete_account' => 'Account verwijderen', + 'delete_your_account' => 'Verwijder je account', + 'delete_your_account_and_reset_all_data' => 'Je gebruikers account wordt verwijderd, evenals al uw 2FA-gegevens. Er is geen weg terug.', + 'reset_your_password_to_delete_your_account' => 'Als je SSO altijd hebt gebruikt om in te loggen, log uit en gebruik de reset wachtwoord functie om een wachtwoord te krijgen zodat u dit formulier kunt invullen.', + 'deleting_2fauth_account_does_not_impact_provider' => 'Het verwijderen van je 2FAuth account heeft geen invloed op je externe SSO-account.', + 'user_account_successfully_deleted' => 'Gebruikersaccount succesvol verwijderd', + 'has_lower_case' => 'Heeft kleine letters', + 'has_upper_case' => 'Heeft hoofdletters', + 'has_special_char' => 'Heeft speciale teken', + 'has_number' => 'Heeft nummers', + 'is_long_enough' => 'Minimaal 8 karakters.', + 'mandatory_rules' => 'Verplicht', + 'optional_rules_you_should_follow' => 'Aanbevolen (hoog)', + 'caps_lock_is_on' => 'Caps lock is aan', + ], + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] +]; diff --git a/resources/lang/nl/commons.php b/resources/lang/nl/commons.php new file mode 100644 index 00000000..84a451e9 --- /dev/null +++ b/resources/lang/nl/commons.php @@ -0,0 +1,94 @@ + 'Annuleren', + 'update' => 'Bijwerken', + 'copy' => 'Kopiëren', + 'copy_to_clipboard' => 'Kopiëren naar klembord', + 'copied_to_clipboard' => 'Gekopiëerd naar klembord', + 'profile' => 'Profiel', + 'edit' => 'Bewerken', + 'delete' => 'Verwijderen', + 'disable' => 'Deactiveer', + 'enable' => 'Activeren', + 'create' => 'Aanmaken', + 'save' => 'Opslaan', + 'close' => 'Sluiten', + 'clear' => 'Wissen', + 'clear_search' => 'Wis zoekopdracht', + 'demo_do_not_post_sensitive_data' => 'Dit is een demo-app, plaats geen gevoelige gegevens', + 'testing_do_not_post_sensitive_data' => 'Dit is een test-app, plaats geen gevoelige gegevens', + 'x_selected' => ':count geselecteerd', + 'name' => 'Naam', + 'manage' => 'Beheren', + 'done' => 'Gereed', + 'new' => 'Nieuw', + 'back' => 'Terug', + 'move' => 'Verplaats', + 'export' => 'Exporteren', + 'all' => 'Alle', + 'check_all' => 'Alle', + 'select_all' => 'Alles selecteren', + 'clear_selection' => 'Selectie wissen', + 'sort_descending' => 'Sorteer aflopend', + 'sort_ascending' => 'Soorter oplopend', + 'rename' => 'Hernoemen', + 'new_name' => 'Nieuwe naam', + 'options' => 'Opties', + 'reload' => 'Vernieuwen', + 'refresh' => 'Vernieuwen', + 'data_refreshed_to_reflect_server_changes' => 'Gegevens zijn vernieuwd om server-side wijzigingen weer te geven', + 'generate' => 'Genereren', + 'generating_otp' => 'OTP genereren', + 'open_in_browser' => 'Openen in de browser', + 'continue' => 'Doorgaan', + 'discard' => 'Verwerp', + 'about' => 'Over', + 'usefull_links' => 'Handige links', + 'environment' => 'Omgeving', + 'credits' => 'Credits', + '2fauth_teaser' => 'Een webapp om je tweestapsverificatie (2FA) accounts te beheren en hun beveiligingscodes te genereren', + 'made_with' => 'Gemaakt met', + 'ui_icons_by' => 'UI iconen door', + 'logos_by' => 'Logo\'s door', + 'search' => 'Zoeken', + 'resources' => 'Bronnen', + 'check_for_update' => 'Controleer op nieuwe versie', + 'check_for_update_help' => 'Controleer automatisch (eenmaal per week) en waarschuw wanneer er een nieuwe release van 2FAuth wordt gepubliceerd op Github', + 'you_are_up_to_date' => 'Deze server is up-to-date', + '2fauth_description' => 'Een webapp om je tweestapsverificatie (2FA) accounts te beheren en hun beveiligingscodes te genereren', + 'image_of_qrcode_to_scan' => 'Afbeelding van een QR-code om te scannen', + 'file' => 'Bestand', + 'or' => 'OF', + 'close_the_x_page' => 'Sluit de :pagetitle pagina', + 'submit' => 'Verzenden', + 'default' => 'Standaard', + 'back_to_home' => 'Terug naar start', + 'nothing' => 'niets', + 'no_result' => 'Geen resultaat', + 'information' => 'Informatie', + 'send' => 'Verzenden', + 'optimize' => 'Optimaliseren', + 'IP' => 'IP', + 'browser' => 'Browser', + 'operating_system_short' => 'OS', + 'no_entry_yet' => 'Nog geen invoer', + 'time' => 'Tijd', + 'ip_address' => 'IP-adres', + 'device' => 'Apparaat', + 'one_month' => '1 ma.', + 'x_month' => ':x mos.', + 'one_year' => '1 yr.', +]; diff --git a/resources/lang/nl/errors.php b/resources/lang/nl/errors.php new file mode 100644 index 00000000..7a76681f --- /dev/null +++ b/resources/lang/nl/errors.php @@ -0,0 +1,76 @@ + 'Bron niet gevonden', + 'error_occured' => 'Er is een fout opgetreden:', + 'refresh' => 'Vernieuwen', + 'no_valid_otp' => 'Geen geldige OTP bron in deze QR code', + 'something_wrong_with_server' => 'Er is iets mis met je server', + 'Unable_to_decrypt_uri' => 'Kan uri niet ontsleutelen', + 'not_a_supported_otp_type' => 'Dit OTP formaat wordt momenteel niet ondersteund', + 'cannot_create_otp_without_secret' => 'Kan geen OTP maken zonder een geheim', + 'data_of_qrcode_is_not_valid_URI' => 'De gegevens van deze QR code zijn geen geldige OTP Auth URI. De QR-code bevat het volgende:', + 'wrong_current_password' => 'Onjuist huidig wachtwoord, niets is veranderd', + 'error_during_encryption' => 'Versleuteling mislukt, je database blijft onbeschermd.', + 'error_during_decryption' => 'Ontsleuteling mislukt, uw database wordt nog steeds beschermd. Dit wordt voornamelijk veroorzaakt door een integriteitsprobleem van versleutelde data voor een of meer accounts.', + 'qrcode_cannot_be_read' => 'Deze QR code is onleesbaar', + 'too_many_ids' => 'te veel id\'s zijn opgenomen in de query parameter, max 100 toegestaan', + 'delete_user_setting_only' => 'Alleen gebruiker-gemaakte instelling kan worden verwijderd', + 'indecipherable' => '*onbeschrijfbaar*', + 'cannot_decipher_secret' => 'Het geheim kan niet worden ontcijferd. Dit wordt voornamelijk veroorzaakt door een verkeerde APP_KEY set in de . nv configuratiebestand van 2Fauth of beschadigde gegevens opgeslagen in de database.', + 'https_required' => 'HTTPS context vereist', + 'browser_does_not_support_webauthn' => 'Je apparaat ondersteunt geen webauthn. Probeer het later opnieuw met een modernere browser', + 'aborted_by_user' => 'Geannuleerd door gebruiker', + 'security_device_already_registered' => 'Apparaat is al geregistreerd', + 'not_allowed_operation' => 'Actie niet toegestaan', + 'no_authenticator_support_specified_algorithms' => 'Geen authenticators ondersteunen opgegeven algoritmen', + 'authenticator_missing_discoverable_credential_support' => 'Authenticator mist detecteerbare referentie ondersteuning', + 'authenticator_missing_user_verification_support' => 'Authenticator mist ondersteuning voor verificatie', + 'unknown_error' => 'Onbekende fout', + 'security_error_check_rpid' => 'Beveiligingsfout
Controleer uw WEBAUTHN_ID env var', + '2fauth_has_not_a_valid_domain' => '2FAuth\'s domein is geen geldig domein', + 'user_id_not_between_1_64' => 'Gebruikers ID was niet tussen 1 en 64 tekens', + 'no_entry_was_of_type_public_key' => 'Geen item van het type "public key"', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', + 'user_deletion_failed' => 'Gebruikersaccount verwijderen mislukt, er zijn geen gegevens verwijderd', + 'auth_proxy_failed' => 'Proxy authenticatie mislukt', + 'auth_proxy_failed_legend' => '2Fauth is geconfigureerd om achter een authenticatie-proxy uit te voeren, maar uw proxy geeft de verwachte header niet terug. Controleer uw configuratie en probeer het opnieuw.', + 'invalid_x_migration' => 'Ongeldige of onleesbare :appname data', + 'invalid_2fa_data' => 'Ongeldige 2FA gegevens', + 'unsupported_migration' => 'Gegevens komen niet overeen met een ondersteund formaat', + 'unsupported_otp_type' => 'Niet ondersteund OTP type', + 'encrypted_migration' => 'Onleesbaar, de data lijkt versleuteld', + 'no_logo_found_for_x' => 'Geen logo beschikbaar voor :service', + 'file_upload_failed' => 'Bestand uploaden mislukt', + 'unauthorized' => 'Niet geautoriseerd', + 'unauthorized_legend' => 'U heeft geen rechten om dit document te bekijken of deze actie uit te voeren', + 'cannot_delete_the_only_admin' => 'Kan de enige admin account niet verwijderen', + 'cannot_demote_the_only_admin' => 'Kan de enige admin account niet degraderen', + 'error_during_data_fetching' => '💀 Er is iets misgegaan tijdens het ophalen van gegevens', + 'check_failed_try_later' => 'Controle mislukt, probeer het later opnieuw', + 'sso_disabled' => 'SSO is uitgeschakeld', + 'sso_bad_provider_setup' => 'Deze SSO provider is niet volledig ingesteld in uw .env bestand', + 'sso_failed' => 'Verificatie via SSO geweigerd', + 'sso_no_register' => 'Registraties zijn uitgeschakeld', + 'sso_email_already_used' => 'Een gebruikersaccount met hetzelfde e-mailadres bestaat al, maar komt niet overeen met uw account-ID. Gebruik geen SSO als je al op 2FAuth geregistreerd bent met dit e-mailadres.', + 'account_managed_by_external_provider' => 'Account wordt beheerd door een externe provider', + 'data_cannot_be_refreshed_from_server' => 'Gegevens kunnen niet worden vernieuwd vanaf server', + 'no_pwd_reset_for_this_user_type' => 'Wachtwoord herstellen niet beschikbaar voor deze gebruiker', + 'cannot_detect_qrcode_in_image' => 'Kan geen QR-code vinden op de afbeelding, probeer de afbeelding bij te snijden', + 'cannot_decode_detected_qrcode' => 'Kan QR-code niet decoderen, probeer de afbeelding bij te snijden of te verscherpen', + 'qrcode_has_invalid_checksum' => 'QR code heeft een ongeldige controlesom', + 'no_readable_qrcode' => 'Geen leesbare QR- code', +]; \ No newline at end of file diff --git a/resources/lang/nl/groups.php b/resources/lang/nl/groups.php new file mode 100644 index 00000000..3baeba5a --- /dev/null +++ b/resources/lang/nl/groups.php @@ -0,0 +1,41 @@ + 'Groepen', + 'create_group' => 'Maak nieuwe groep', + 'show_group_selector' => 'Toon groepskiezer', + 'hide_group_selector' => 'Verberg gropeskiezer', + 'select_accounts_to_show' => 'Selecteer de accountgroep om te tonen', + 'x_accounts' => ':count accounts', + 'manage_groups' => 'Beheer groepen', + 'active_group' => 'Actieve groep', + 'manage_groups_legend' => 'Je kunt groepen maken om je accounts te organiseren zoals je wilt. Alle accounts blijven zichtbaar in de pseudo-groep met de naam \'Alle\', ongeacht de groep waartoe ze behoren.', + 'deleting_group_does_not_delete_accounts' => 'Het verwijderen van een groep verwijdert geen accounts', + 'move_selected_to' => 'Verplaats selectie naar', + 'move_selected_to_group' => 'Verplaats geselecteerde naar een groep', + 'no_group' => 'Geen groep', + 'change_group' => 'Verander groep', + 'group_successfully_created' => 'Groep succesvol aangemaakt', + 'group_name_saved' => 'Groepsnaam opgeslagen', + 'group_successfully_deleted' => 'Groep succesvol verwijderd', + 'forms' => [ + 'new_group' => 'Nieuwe groep', + 'new_name' => 'Nieuwe naam', + 'rename_group' => 'Groep hernoemen', + ], + 'confirm' => [ + 'delete' => 'Weet je zeker dat u deze groep wilt verwijderen?', + ], +]; \ No newline at end of file diff --git a/resources/lang/nl/languages.php b/resources/lang/nl/languages.php new file mode 100644 index 00000000..e0d24aaa --- /dev/null +++ b/resources/lang/nl/languages.php @@ -0,0 +1,24 @@ + 'Browser voorkeuren', + 'en' => 'Engels (English)', + 'fr' => 'Frans (French)', + 'de' => 'Duits (Deutsch)', + 'es' => 'Spaans (Español)', + 'zh' => 'Chinees (Vereenvoudigd Chinees)', + 'ru' => 'Русский (Russisch)', + 'bg' => 'Български (Bulgarian)', + 'ja' => '日本語 (Japans)', + 'hi' => 'barometertels ½ (Hindi)', + 'tr' => 'Turk (Turks)', +]; \ No newline at end of file diff --git a/resources/lang/nl/notifications.php b/resources/lang/nl/notifications.php new file mode 100644 index 00000000..6cae26fb --- /dev/null +++ b/resources/lang/nl/notifications.php @@ -0,0 +1,36 @@ + 'Hallo', + 'hello_user' => 'Hallo :username,', + 'regards' => 'Groeten', + 'test_email_settings' => [ + 'subject' => '2FAuth test e-mail', + 'reason' => 'Je ontvangt deze e-mail omdat je een test e-mail hebt aangevraagd om de e-mailinstellingen van je 2FAuth installatie te valideren.', + 'success' => 'Goed nieuws, het werkt :)' + ], + 'new_device' => [ + 'subject' => 'Verbinding met 2FAuth vanaf een nieuw apparaat', + 'resume' => 'Een nieuw apparaat heeft zojuist verbinding gemaakt met je 2FAuth account.', + 'connection_details' => 'Hier zijn de details van deze verbinding', + 'recommandations' => 'Als u dit was, kunt u deze waarschuwing negeren. Als u vermoedt dat er sprake is van een verdachte activiteit op uw account, wijzig dan uw wachtwoord.' + ], + 'failed_login' => [ + 'subject' => 'Mislukte login naar 2FAuth', + 'resume' => 'Er is een mislukte inlog poging gedaan voor je 2FAuth account.', + 'connection_details' => 'Hier zijn de details van deze verbindingspoging', + 'recommandations' => 'Als jij dit was, kan je deze melding negeren. Als verdere pogingen mislukken, moet u contact opnemen met de 2FAuth beheerder om de beveiligingsinstellingen te bekijken en actie ondernemen tegen deze aanvaller.' + ], +]; \ No newline at end of file diff --git a/resources/lang/nl/pagination.php b/resources/lang/nl/pagination.php new file mode 100644 index 00000000..7382e2e8 --- /dev/null +++ b/resources/lang/nl/pagination.php @@ -0,0 +1,19 @@ + '« Vorige', + 'next' => 'Volgende »', + +]; diff --git a/resources/lang/nl/passwords.php b/resources/lang/nl/passwords.php new file mode 100644 index 00000000..6aef3b8c --- /dev/null +++ b/resources/lang/nl/passwords.php @@ -0,0 +1,26 @@ + 'Je wachtwoord is gereset!', + 'sent' => 'We hebben uw wachtwoord reset link gemaild!', + 'throttled' => 'Gelieve even te wachten voor u het opnieuw probeert.', + 'token' => 'Dit wachtwoord reset token is ongeldig.', + 'user' => "We kunnen geen gebruiker vinden met dat e-mailadres.", + + // 2FAuth + 'password' => 'Wachtwoorden moeten minstens acht tekens bevatten en overeenkomen.', + +]; diff --git a/resources/lang/nl/settings.php b/resources/lang/nl/settings.php new file mode 100644 index 00000000..86028ae7 --- /dev/null +++ b/resources/lang/nl/settings.php @@ -0,0 +1,184 @@ + 'Instellingen', + 'preferences' => 'Voorkeuren', + 'account' => 'Account', + 'oauth' => 'OAuth', + 'webauthn' => 'WebAuthn', + 'tokens' => 'Tokens', + 'options' => 'Opties', + 'user_preferences' => 'Gebruikersvoorkeuren', + 'admin_settings' => 'Beheerdersinstellingen', + 'confirm' => [ + + ], + 'you_are_administrator' => 'U bent een beheerder', + 'account_linked_to_sso_x_provider' => 'U bent ingelogd via SSO met behulp van uw :provider account. Uw gegevens kunnen hier niet worden gewijzigd, maar op :provider.', + 'general' => 'Algemeen', + 'security' => 'Beveiliging', + 'notifications' => 'Meldingen', + 'profile' => 'Profiel', + 'change_password' => 'Wachtwoord wijzigen', + 'personal_access_tokens' => 'Persoonlijke toegangstokens', + 'token_legend' => 'Persoonlijke toegangstokens staan elke app toe om te verifiëren via de 2Fauth API. U moet het toegangstoken opgeven als een Bearer token in de autorisatie-header van verzoeken om autorisatie apps.', + 'generate_new_token' => 'Nieuwe token genereren', + 'revoke' => 'Intrekken', + 'token_revoked' => 'Token succesvol ingetrokken', + 'revoking_a_token_is_permanent' => 'Het intrekken van een token is permanent', + 'confirm' => [ + 'revoke' => 'Weet u zeker dat u deze token wilt intrekken?', + ], + 'make_sure_copy_token' => 'Zorg ervoor dat je het persoonlijke toegangs-token nu kopieert of opschrijft. Je kunt het later niet meer zien!', + 'data_input' => 'Gegevensinvoer', + 'forms' => [ + 'edit_settings' => 'Wijzig instellingen', + 'setting_saved' => 'Instellingen opgeslagen', + 'new_token' => 'Nieuwe token', + 'some_translation_are_missing' => 'Sommige vertalingen ontbreken met behulp van de voorkeurstaal van de browser?', + 'help_translate_2fauth' => 'Help 2FAuth te vertalen', + 'language' => [ + 'label' => 'Taal', + 'help' => 'De taal die wordt gebruikt om de 2FAuth gebruikersinterface te vertalen. Benoemde talen zijn compleet, stel een van uw keuze in om de voorkeur van uw browser te overschrijven.' + ], + 'timezone' => [ + 'label' => 'Tijdzone', + 'help' => 'De tijdzone is van toepassing op alle datums en tijden die in de applicatie worden weergegeven' + ], + 'show_otp_as_dot' => [ + 'label' => 'Toon gegenereerde OTP als punt', + 'help' => 'Vervang gegenereerde wachtwoordtekens door *** om vertrouwelijkheid te garanderen. Beperk de copy/paste functie niet' + ], + 'reveal_dotted_otp' => [ + 'label' => 'Onthullen vervaagd OTP', + 'help' => 'Laat de mogelijkheid om tijdelijk Dot-Obscured wachtwoorden te onthullen' + ], + 'close_otp_on_copy' => [ + 'label' => 'Sluiten OTP na kopiëren', + 'help' => 'Klik op een gegenereerd wachtwoord om het automatisch te kopiëren op het scherm' + ], + 'auto_close_timeout' => [ + 'label' => 'Automatisch sluiten OTP', + 'help' => 'Automatisch het scherm-wachtwoord verbergen na een time-out. Dit voorkomt onnodige verzoeken voor nieuwe wachtwoorden als u de wachtwoordweergave vergeet te sluiten.' + ], + 'clear_search_on_copy' => [ + 'label' => 'Zoekopdracht wissen bij kopiëren', + 'help' => 'Leeg het zoekvak rechts nadat een code is gekopieerd naar het klembord' + ], + 'sort_case_sensitive' => [ + 'label' => 'Soort hoofdlettergevoelig', + 'help' => 'Wanneer aangedrongen, forceer de sorteerfunctie om rekeningen op een hoofdgevoelige basis te sorteren' + ], + 'copy_otp_on_display' => [ + 'label' => 'Kopieer OTP bij weergave', + 'help' => 'Automatisch een gegenereerd wachtwoord kopiëren direct nadat het op het scherm verschijnt. Vanwege de beperkingen van browsers wordt alleen het eerste TOTP wachtwoord gekopieerd, niet de roterende wachtwoord' + ], + 'use_basic_qrcode_reader' => [ + 'label' => 'Gebruik standaard QR code lezer', + 'help' => 'Als u problemen ondervindt bij het opnemen van QR-codes kunt u deze optie overschakelen naar een meer fundamentele maar betrouwbaardere QR code lezer' + ], + 'display_mode' => [ + 'label' => 'Weergavemodus', + 'help' => 'Kies of je accounts wilt weergeven als lijst of als raster' + ], + 'password_format' => [ + 'label' => 'Wachtwoord opmaak', + 'help' => 'Verander hoe de wachtwoorden worden weergegeven door cijfers te groeperen om leesbaarheid en geheugen te vergemakkelijken' + ], + 'pair' => 'bij Paar', + 'pair_legend' => 'Groepeer cijfers twee door twee', + 'trio_legend' => 'Groepeer cijfers twee door twee', + 'half_legend' => 'Splits cijfers in twee gelijkwaardige groepen', + 'trio' => 'door drie', + 'half' => 'door de helft', + 'grid' => 'Raster', + 'list' => 'Lijst', + 'theme' => [ + 'label' => 'Thema', + 'help' => 'Forceer een specifiek thema of pas het thema toe dat is gedefinieerd in uw systeem/browser voorkeuren' + ], + 'light' => 'Licht', + 'dark' => 'Donker', + 'automatic' => 'Auto', + 'show_accounts_icons' => [ + 'label' => 'Toon symbolen', + 'help' => 'Toon iconen accounts in het hoofdscherm' + ], + 'get_official_icons' => [ + 'label' => 'Officiële iconen verkrijgen', + 'help' => '(Probeer om) Krijg het officiële icoon van de 2FA-uitgever bij het toevoegen van een account' + ], + 'auto_lock' => [ + 'label' => 'Autom. vergrendelen', + 'help' => 'Log de gebruiker automatisch uit bij inactiviteit. Heeft geen effect wanneer authenticatie wordt afgehandeld door een proxy en er geen aangepaste logout-url is opgegeven.' + ], + 'default_group' => [ + 'label' => 'Standaard groep', + 'help' => 'De groep waaraan de nieuwe accounts zijn gekoppeld', + ], + 'view_default_group_on_copy' => [ + 'label' => 'Standaardgroep bij kopiëren weergeven', + 'help' => 'Altijd terugkeren naar de standaardgroep wanneer een OTP is gekopieerd', + ], + 'auto_save_qrcoded_account' => [ + 'label' => 'Accounts automatisch opslaan', + 'help' => 'Nieuwe accounts worden automatisch geregistreerd na het scannen of uploaden van een QR-code, het is niet nodig op de knop Opslaan te klikken', + ], + 'useDirectCapture' => [ + 'label' => 'Directe invoer', + 'help' => 'Kies of u gevraagd wilt worden om een invoermodus te kiezen tussen de beschikbare of dat u direct de standaard invoermodus wilt gebruiken', + ], + 'defaultCaptureMode' => [ + 'label' => 'Standaard input mode', + 'help' => 'Standaard invoermodus wordt gebruikt wanneer de optie voor directe invoer ingeschakeld is', + ], + 'remember_active_group' => [ + 'label' => 'Groepfilter onthouden', + 'help' => 'Sla het laatste groepsfilter op en herstel het tijdens uw volgende bezoek', + ], + 'otp_generation' => [ + 'label' => 'Toon wachtwoord', + 'help' => 'Stel in hoe en wanneer OTPs worden weergegeven.
', + ], + 'notify_on_new_auth_device' => [ + 'label' => 'Op een nieuw apparaat', + 'help' => 'Ontvang een e-mail wanneer een nieuw apparaat voor de eerste keer verbinding maakt met je 2FAuth account' + ], + 'notify_on_failed_login' => [ + 'label' => 'Bij mislukte aanmelding', + 'help' => 'Ontvang een e-mail telkens wanneer een poging om verbinding te maken met je 2FAuth account mislukt' + ], + 'otp_generation_on_request' => 'Na een klik/tik', + 'otp_generation_on_request_legend' => 'Alleen, in zijn eigen weergave', + 'otp_generation_on_request_title' => 'Klik op een account om een wachtwoord te krijgen in een speciale weergave', + 'otp_generation_on_home' => 'Constant', + 'otp_generation_on_home_legend' => 'Alles, op start', + 'otp_generation_on_home_title' => 'Alle wachtwoorden in de hoofdweergave weergeven, zonder iets te doen', + 'never' => 'Nooit', + 'on_otp_copy' => 'Bij beveiligingscode kopiëren', + '1_minutes' => 'Na 1 minuut', + '2_minutes' => 'Na 2 minuten', + '5_minutes' => 'Na 5 minuten', + '10_minutes' => 'Na 5 minuten', + '15_minutes' => 'Na 15 minuten', + '30_minutes' => 'Na 30 minuten', + '1_hour' => 'Na 1 uur', + '1_day' => 'Na 1 dag', + 'livescan' => 'QR code livescan', + 'upload' => 'QR code uploaden', + 'advanced_form' => 'Geavanceerd formulier', + ], + +]; \ No newline at end of file diff --git a/resources/lang/nl/titles.php b/resources/lang/nl/titles.php new file mode 100644 index 00000000..aa1546f8 --- /dev/null +++ b/resources/lang/nl/titles.php @@ -0,0 +1,58 @@ + 'Nieuw account', + 'capture' => 'Flash QR', + 'accounts' => 'Accountss', + 'createAccount' => 'Account aanmaken', + 'importAccounts' => 'Importeer accounts', + 'editAccount' => 'Account wijzigen', + 'showQRcode' => 'Account als QR code', + 'groups' => 'Groepen', + 'createGroup' => 'Groep aanmaken', + 'editGroup' => 'Groep wijzigen', + 'settings' => [ + 'options' => 'Opties', + 'account' => 'Gebruikersaccount', + 'oauth' => [ + 'tokens' => 'OAuth tokens', + 'generatePAT' => 'Nieuwe persoonlijke token', + ], + 'webauthn' => [ + 'editCredential' => 'Apparaat wijzigen', + 'devices' => 'WebAuthn apparaten', + ], + ], + 'login' => 'Inloggen', + 'register' => 'Registreer', + 'autolock' => 'Automatisch vergrendelen', + 'password' => [ + 'request' => 'Wachtwoord herstellen', + 'reset' => 'Nieuw wachtwoord', + ], + 'webauthn' => [ + 'lost' => 'Accountherstel', + 'recover' => 'Registreer een nieuw apparaat', + ], + 'flooded' => 'Vloed', + 'genericError' => 'Fout', + '404' => 'Item niet gevonden', + 'about' => 'Over', + 'admin' => [ + 'appSetup' => 'App instellen', + 'users' => 'Gebruikersbeheer', + 'createUser' => 'Nieuwe gebruiker', + 'manageUser' => 'Beheer gebruiker', + 'logs' => [ + 'access' => 'Toegang logboek' + ] + ] +]; \ No newline at end of file diff --git a/resources/lang/nl/twofaccounts.php b/resources/lang/nl/twofaccounts.php new file mode 100644 index 00000000..545dd1ba --- /dev/null +++ b/resources/lang/nl/twofaccounts.php @@ -0,0 +1,174 @@ + 'Service', + 'account' => 'Account', + 'icon' => 'Icoon', + 'icon_to_illustrate_the_account' => 'Icoon dat de account illustreert', + 'remove_icon' => 'Verwijder icoon', + 'no_account_here' => 'Geen 2FA hier!', + 'add_first_account' => 'Kies een methode en voeg je eerste account toe', + 'use_full_form' => 'Of gebruik het volledige formulier', + 'add_one' => 'Eén toevoegen', + 'show_qrcode' => 'Toon QR-code', + 'no_service' => '- geen service -', + 'account_created' => 'Account succesvol aangemaakt', + 'account_updated' => 'Account succesvol bijgewerkt', + 'accounts_deleted' => 'Account(s) succesvol verwijderd', + 'accounts_moved' => 'Account(s) succesvol verplaatst', + 'export_selected_to_json' => 'Download een json export van geselecteerde accounts', + 'reveal' => 'toon', + 'forms' => [ + 'service' => [ + 'placeholder' => 'Google, Twitter, Apple', + ], + 'account' => [ + 'placeholder' => 'John DOE', + ], + 'new_account' => 'Nieuw account', + 'edit_account' => 'Account bewerken', + 'otp_uri' => 'OTP Uri', + 'scan_qrcode' => 'Scan een QR code', + 'upload_qrcode' => 'Upload een QR code', + 'use_advanced_form' => 'Gebruik het geavanceerd formulier', + 'prefill_using_qrcode' => 'Prefill met behulp van een QR Code', + 'use_qrcode' => [ + 'val' => 'Gebruik een qrcode', + 'title' => 'Gebruik een QR code om het formulier magisch in te vullen', + ], + 'unlock' => [ + 'val' => 'Ontgrendel', + 'title' => 'Ontgrendel het (op eigen risico)', + ], + 'lock' => [ + 'val' => 'Vergrendel', + 'title' => 'Vergrendel het', + ], + 'choose_image' => 'Upload', + 'i_m_lucky' => 'Probeer mijn geluk', + 'i_m_lucky_legend' => 'De "Probeer mijn geluk" knop probeert het officiële icoon te krijgen van de gegeven service. Voer de werkelijke servicenaam in zonder ".xyz" extensie en probeer een typefout te vermijden. (bèta-functie)', + 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], + 'secret' => [ + 'label' => 'Geheim', + 'help' => 'De sleutel die gebruikt wordt om uw beveiligingscodes te genereren' + ], + 'plain_text' => 'Platte tekst', + 'otp_type' => [ + 'label' => 'Kies het type OTP om te maken', + 'help' => 'Op tijd gebaseerde OTP of HMAC-gebaseerde OTP of Steam OTP' + ], + 'digits' => [ + 'label' => 'Cijfers', + 'help' => 'Het aantal cijfers van de gegenereerde beveiligingscodes' + ], + 'algorithm' => [ + 'label' => 'Algoritme', + 'help' => 'Het algoritme dat wordt gebruikt om uw beveiligingscodes te beveiligen' + ], + 'period' => [ + 'label' => 'Periode', + 'placeholder' => 'Standaardwaarde is 30', + 'help' => 'De geldigheidsduur van de gegenereerde beveiligingscodes in de tweede' + ], + 'counter' => [ + 'label' => 'Teller', + 'placeholder' => 'Standaardwaarde is 0', + 'help' => 'De initiële tellerwaarde', + 'help_lock' => 'Het is riskant om de teller te bewerken omdat je het account kunt desynchroniseren met de verificatieserver van de service. Gebruik het vergrendelingspictogram om wijziging in te schakelen, maar alleen als u weet dat u dit doet' + ], + 'image' => [ + 'label' => 'Afbeelding', + 'placeholder' => 'http://...', + 'help' => 'De url van een externe afbeelding om te gebruiken als account icoon' + ], + 'options_help' => 'Je kunt de volgende opties leeg laten als je niet weet hoe ze in te stellen. De meest gebruikte waarden zullen worden toegepast.', + 'alternative_methods' => 'Alternatieve methodes', + 'spaces_are_ignored' => 'Ongewenste spaties worden automatisch verwijderd' + ], + 'stream' => [ + 'live_scan_cant_start' => 'Live scan kan niet starten :(', + 'need_grant_permission' => [ + 'reason' => '2FAuth heeft geen toegang tot je camera', + 'solution' => 'Je moet toestemming geven om je apparaat camera te gebruiken. Als u het al heeft geweigerd en uw browser u niet opnieuw vraagt verwijst u naar de browserdocumentatie om erachter te komen hoe u toestemming kunt verlenen.', + 'click_camera_icon' => 'Meestal wordt dit gedaan door te klikken op een schuin camerapictogram in of naast de adresbalk van de browser', + ], + 'not_readable' => [ + 'reason' => 'Laden scanner mislukt', + 'solution' => 'Is de camera al in gebruik? Zorg ervoor dat geen andere app je camera gebruikt en probeer het opnieuw' + ], + 'no_cam_on_device' => [ + 'reason' => 'Geen camera op dit apparaat', + 'solution' => 'Misschien ben je vergeten je webcam aan te sluiten' + ], + 'secured_context_required' => [ + 'reason' => 'Veilige context vereist', + 'solution' => 'HTTPS is vereist voor live scan. Als je 2FAuth vanaf je computer draait, gebruik dan geen andere virtuele host dan localhost' + ], + 'https_required' => 'HTTPS vereist voor camera streaming', + 'camera_not_suitable' => [ + 'reason' => 'Geïnstalleerde camera\'s zijn niet geschikt', + 'solution' => 'Gebruik a.u.b. een ander apparaat/camera' + ], + 'stream_api_not_supported' => [ + 'reason' => 'Stream API wordt niet ondersteund in deze browser', + 'solution' => 'Je moet een moderne browser gebruiken' + ], + ], + 'confirm' => [ + 'delete' => 'Weet je zeker dat je dit account wilt verwijderen?', + 'cancel' => 'Wijzigingen zullen verloren gaan. Weet je het zeker?', + 'discard' => 'Weet je zeker dat je dit account wilt verwijderen?', + 'discard_all' => 'Weet je zeker dat je alle accounts wilt verwijderen?', + 'discard_duplicates' => 'Weet je zeker dat je alle duplicaten wilt verwijderen?', + ], + 'import' => [ + 'import' => 'Importeren', + 'to_import' => 'Importeren', + 'import_legend' => '2FAuth kan gegevens importeren uit verschillende 2FA apps.', + 'import_legend_afterpart' => 'Gebruik de Exportfunctie van deze apps om een migratiebron zoals een QR code of een JSON-bestand te krijgen en het hier te laden.', + 'upload' => 'Upload', + 'scan' => 'Scan', + 'supported_formats_for_qrcode_upload' => 'Geaccepteerd: jpg, jpeg, png, bmp, gif, svg of webp', + 'supported_formats_for_file_upload' => 'Geaccepteerd: platte tekst, json, 2fas', + 'expected_format_for_direct_input' => 'Verwachte lijst van otpauth URI, een voor regel', + 'supported_migration_formats' => 'Ondersteunde migratie formaten', + 'qr_code' => 'QR code', + 'text_file' => 'Tekst bestand', + 'direct_input' => 'Directe invoer', + 'plain_text' => 'Platte tekst', + 'parsing_data' => 'Gegevens verwerken...', + 'issuer' => 'Verstrekker', + 'imported' => 'Geïmporteerd', + 'failure' => 'Mislukt', + 'x_valid_accounts_found' => ':count geldige accounts gevonden', + 'submitted_data_parsed_now_accounts_are_awaiting_import' => 'De volgende 2FA-accounts werden gevonden in de migratie-bron. Tot nu toe zijn geen van deze aan 2FAuth toegevoegd.', + 'use_buttons_to_save_or_discard' => 'Gebruik de beschikbare knoppen om ze permanent op uw 2FA-collectie te slaan of ze te negeren.', + 'import_all' => 'Importeer alles', + 'import_this_account' => 'Importeer dit account', + 'discard_all' => 'Alles annuleren', + 'discard_duplicates' => 'Duplicaten verwijderen', + 'discard_this_account' => 'Dit account verwijderen', + 'generate_a_test_password' => 'Genereer een test wachtwoord', + 'possible_duplicate' => 'Een account met dezelfde gegevens bestaat al', + 'invalid_account' => '- ongeldig account -', + 'invalid_service' => '- ongeldige service -', + 'do_not_set_password_or_encryption' => 'Schakel wachtwoordbescherming of versleuteling NIET in als je gegevens van een 2FA-app exporteert, anders kunnen 2FAuth ze niet ontcijferen.', + ], + +]; \ No newline at end of file diff --git a/resources/lang/nl/validation.php b/resources/lang/nl/validation.php new file mode 100644 index 00000000..a5b22fa2 --- /dev/null +++ b/resources/lang/nl/validation.php @@ -0,0 +1,207 @@ + 'Het :attribute moet geaccepteerd worden.', + 'accepted_if' => 'Het :attribute moet worden geaccepteerd als :other :value is.', + 'active_url' => 'Het :attribute is geen geldige URL.', + 'after' => 'Het :attribute moet een datum na :date zijn.', + 'after_or_equal' => 'Het :attribute moet een datum na of gelijk aan :date zijn.', + 'alpha' => 'Het :attribute mag alleen letters bevatten.', + 'alpha_dash' => 'Het :attribute mag alleen letters, cijfers, streepjes en underscores bevatten.', + 'alpha_num' => 'Het :attribute mag alleen letters en nummers bevatten.', + 'array' => 'Het :attribute moet een reeks zijn.', + 'before' => 'Het :attribute moet een datum vóór :date zijn.', + 'before_or_equal' => 'Het :attribute moet een datum zijn voor of gelijk aan :date.', + 'between' => [ + 'array' => 'Het :attribute moet tenminste :min en :max items bevatten.', + 'file' => 'Het :attribute moet tussen de :min en :max kilobytes zijn.', + 'numeric' => 'Het :attribute moet tussen :min en :max zijn.', + 'string' => 'Het :attribute moet tussen :min en :max karakters zijn.', + ], + 'boolean' => 'Het :attribute moet ja of nee zijn.', + 'confirmed' => ':attribute bevestiging komt niet overeen.', + 'current_password' => 'Het wachtwoord is onjuist.', + 'date' => 'Het :attribute is geen geldige datum.', + 'date_equals' => 'Het :attribute moet een datum gelijk aan :date zijn.', + 'date_format' => 'Het :attribute komt niet overeen met het formaat :format.', + 'declined' => 'Het :attribuut moet worden afgewezen.', + 'declined_if' => 'Het :attribute moet worden afgewezen als :other :value is.', + 'different' => 'Het :attribute en :other moeten verschillend zijn.', + 'digits' => 'Het :attribute moet bestaan uit :digits cijfers.', + 'digits_between' => 'Het :attribute moet bestaan uit minimaal :min en maximaal :max cijfers.', + 'dimensions' => 'Het :attribute heeft ongeldige afbeeldings dimensies.', + 'distinct' => ':attribute veld heeft een reeds bestaande waarde.', + 'doesnt_end_with' => 'Het :attribute mag niet eindigen met een van de volgende: :values.', + 'doesnt_start_with' => 'Het :attribute mag niet beginnen met een van de volgende: :values.', + 'email' => 'Het :attribute moet een geldig e-mailadres zijn.', + 'ends_with' => 'Het :attribute moet eindigen met een van de volgende: :values.', + 'enum' => 'Het geselecteerde :attribute is ongeldig.', + 'exists' => 'Het geselecteerde :attribute is ongeldig.', + 'file' => 'Het :attribute moet een bestand zijn.', + 'filled' => 'Het veld :attribute moet een waarde bevatten.', + 'gt' => [ + 'array' => 'Het :attribute moet meer dan :value waardes bevatten.', + 'file' => 'Het :attribute moet groter zijn dan :value kilobytes.', + 'numeric' => 'Het :attribute moet groter zijn dan :value.', + 'string' => 'Het :attribute moet groter zijn dan de :value tekens.', + ], + 'gte' => [ + 'array' => 'Het :attribute moet :value items of meer hebben.', + 'file' => 'De :attribute moet groter of gelijk zijn aan :value kilobytes.', + 'numeric' => 'De :attribute moet groter of gelijk zijn aan :value.', + 'string' => 'De :attribute moet minimaal :value tekens bevatten.', + ], + 'image' => 'De :attribute moet een afbeelding zijn.', + 'in' => 'De geselecteerde :attribute is ongeldig.', + 'in_array' => 'Het :attribute veld bestaat niet in :other.', + 'integer' => 'Het :attribute moet van het type integer zijn.', + 'ip' => 'Het :attribute moet een geldig IP-adres zijn.', + 'ipv4' => 'Het :attribute moet een geldig IPv4 adres zijn.', + 'ipv6' => 'Het :attribute moet een geldig IPv6 adres zijn.', + 'json' => 'Het :attribute moet een geldige JSON string zijn.', + 'lt' => [ + 'array' => 'Het :attribute moet minder dan :value items hebben.', + 'file' => 'Het :attribute moet kleiner zijn dan :value kilobytes.', + 'numeric' => 'Het :attribute moet kleiner zijn dan :value.', + 'string' => 'Het :attribute moet groter zijn dan de :value tekens.', + ], + 'lte' => [ + 'array' => 'Het :attribute mag niet meer dan :value items hebben.', + 'file' => 'Het :attribute moet kleiner zijn dan of gelijk zijn aan :value kilobytes.', + 'numeric' => 'Het :attribute moet kleiner zijn dan of gelijk zijn aan :value.', + 'string' => 'Het :attribute moet kleiner zijn dan of gelijk aan :value tekens.', + ], + 'mac_address' => 'Het :attribute moet een geldig MAC-adres zijn.', + 'max' => [ + 'array' => 'Het :attribute mag niet meer dan :max items hebben.', + 'file' => 'Het :attribute mag niet groter zijn dan :max kilobytes.', + 'numeric' => 'Het :attribute mag niet groter zijn dan :max.', + 'string' => 'Het :attribute mag niet groter zijn dan de :max tekens.', + ], + 'max_digits' => 'Het :attribute mag niet meer dan :max cijfers hebben.', + 'mimes' => 'Het :attribute moet een bestand zijn van het type: :values.', + 'mimetypes' => 'Het :attribute moet een bestand zijn van het type: :values.', + 'min' => [ + 'array' => 'Het :attribute moet ten minste :min items hebben.', + 'file' => 'Het :attribute moet ten minste :min kilobytes zijn.', + 'numeric' => 'Het :attribute moet ten minste :min items hebben.', + 'string' => 'Het :attribute moet ten minste :min karakters zijn.', + ], + 'min_digits' => 'Het :attribute moet ten minste :min cijfers hebben.', + 'multiple_of' => 'Het :attribute moet een meervoud zijn van :value.', + 'not_in' => 'Het geselecteerde :attribute is ongeldig.', + 'not_regex' => 'Het formaat van :attribute is ongeldig.', + 'numeric' => 'Het :attribute moet een cijfer zijn.', + 'password' => [ + 'letters' => 'Het :attribute moet minimaal één letter bevatten.', + 'mixed' => 'Het :attribute moet ten minste één hoofdletter en één kleine letter bevatten.', + 'numbers' => 'Het :attribute moet ten minste één getal bevatten.', + 'symbols' => 'Het :attribute moet minimaal één symbool bevatten.', + 'uncompromised' => 'Het opgegeven :attribute komt voor in een datalek. Kies een ander :attribute.', + ], + 'present' => 'Het :attribute veld moet aanwezig zijn.', + 'prohibited' => 'Het :attribute veld is verboden.', + 'prohibited_if' => 'Het :attribute veld is verboden als :other is :value.', + 'prohibited_unless' => 'Het :attribute veld is verboden tenzij :other is in :values.', + 'prohibits' => 'Het :attribute veld verbiedt de aanwezigheid van :other.', + 'regex' => 'Het formaat van :attribute is ongeldig.', + 'required' => 'Het :attribute veld is verplicht.', + 'required_array_keys' => 'Het :attribute veld moet items bevatten voor: :values.', + 'required_if' => 'Het veld :attribute is verplicht als :other gelijk is aan :value.', + 'required_if_accepted' => 'Het :attribute veld is verplicht wanneer :other is geaccepteerd.', + 'required_unless' => 'Het :attribute veld is verplicht tenzij :other is in :values.', + 'required_with' => 'Het veld :attribute is verplicht als :values ingesteld staan.', + 'required_with_all' => 'Het :attribute veld is verplicht als :values aanwezig zijn.', + 'required_without' => 'Het veld :attribute is verplicht als :values niet ingesteld staan.', + 'required_without_all' => 'Het :attribute veld is verplicht wanneer geen van de :values aanwezig zijn.', + 'same' => 'Het :attribute en :other moeten gelijk zijn.', + 'size' => [ + 'array' => 'Het :attribute moet :size items bevatten.', + 'file' => 'Het :attribute moet ten minste :min kilobytes zijn.', + 'numeric' => 'Het :attribute moet :size zijn.', + 'string' => 'Het :attribute moet zijn :size karakters zijn.', + ], + 'starts_with' => 'Het :attribute moet beginnen met een van de volgende: :values.', + 'string' => 'Het :attribute moet een tekenreeks zijn.', + 'timezone' => 'Het :attribute moet een geldige tijdzone zijn.', + 'unique' => 'Het :attribute is al in gebruik.', + 'uploaded' => 'Het uploaden van :attribute is mislukt.', + 'url' => 'Het :attribute moet een geldig URL zijn.', + 'uuid' => 'Het :attribute moet een geldig UUID zijn.', + + 'single' => 'Bij gebruik van :attribute moet het de enige parameter zijn in de body van de aanvraag', + 'onlyCustomOtpWithUri' => 'De uri parameter moet alleen of alleen worden verstrekt in combinatie met de \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'icon' => [ + 'image' => 'Ondersteunde formaat zijn jpeg, png, bmp, gif, svg of webp.', + ], + 'qrcode' => [ + 'image' => 'Ondersteunde formaat zijn jpeg, png, bmp, gif, svg of webp.', + ], + 'uri' => [ + 'regex' => 'Het :attribute is geen geldige otpauth uri.', + ], + 'otp_type' => [ + 'in' => 'Het :attribute wordt niet ondersteund.', + ], + 'email' => [ + 'exists' => 'Geen account gevonden met dit e-mailadres.', + 'ComplyWithEmailRestrictionPolicy' => 'Dit e-mailadres voldoet niet aan het registratie beleid', + 'IsValidEmailList' => 'Alle e-mailadressen moeten geldig zijn en gescheiden worden door een buis' + ], + 'secret' => [ + 'isBase32Encoded' => 'Het :attribute moet een base32 gecodeerde tekenreeks zijn.', + ], + 'account' => [ + 'regex' => 'Het :attribute mag leestekens bevatten.', + ], + 'service' => [ + 'regex' => 'Het :attribute mag geen leestekens bevatten.', + ], + 'label' => [ + 'required' => 'De uri moet een label hebben.', + ], + 'ids' => [ + 'regex' => 'ID\'s moeten met een komma gescheiden, zonder een komma.', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/resources/lang/pl/admin.php b/resources/lang/pl/admin.php new file mode 100644 index 00000000..ef68a501 --- /dev/null +++ b/resources/lang/pl/admin.php @@ -0,0 +1,136 @@ + 'Admin', + 'app_setup' => 'App setup', + 'auth' => 'Auth', + 'registrations' => 'Registrations', + 'users' => 'Users', + 'users_legend' => 'Manage users registered on your instance or create new ones.', + 'admin_settings' => 'Admin settings', + 'create_new_user' => 'Create a user', + 'new_user' => 'New user', + 'search_user_placeholder' => 'User name, email...', + 'quick_filters_colons' => 'Quick filters:', + 'user_created' => 'user successfully created', + 'confirm' => [ + 'delete_user' => 'Are you sure you want to delete this user? There is no going back.', + 'request_password_reset' => 'Are you sure you want to reset this user\'s password?', + 'purge_password_reset_request' => 'Are you sure you want to revoke the previous request?', + 'delete_account' => 'Are you sure you want to delete this user?', + 'edit_own_account' => 'This is your own account. Are you sure?', + 'change_admin_role' => 'This will have serious impacts on this user\'s permissions. Are you sure?', + 'demote_own_account' => 'You will no longer be an administrator. Really sure?' + ], + 'logs' => 'Logs', + 'administration_legend' => 'Following settings are global and apply to all users.', + 'user_management' => 'User management', + 'oauth_provider' => 'OAuth provider', + 'account_bound_to_x_via_oauth' => 'This account is bound to a :provider account via OAuth', + 'last_seen_on_date' => 'Last seen :date', + 'registered_on_date' => 'Registered :date', + 'updated_on_date' => 'Updated :date', + 'access' => 'Access', + 'password_requested_on_t' => 'A password reset request exists for this user (request sent at :datetime), which means that the user has not yet changed their password but the link they received is still valid. This may be a request from the user themselves or from an administrator.', + 'password_request_expired' => 'A password reset request exists for this user but has expired, meaning that the user has not changed their password in time. This may be a request from the user themselves or from an administrator.', + 'resend_email' => 'Resend email', + 'resend_email_title' => 'Resend a password reset email to the user', + 'resend_email_help' => 'Use Resend email to send a new password reset email to the user so he can set a new password. This will leave its current password as is and any previous request will be revoked.', + 'reset_password' => 'Reset password', + 'reset_password_help' => 'Use Reset password to force a password reset (this will set a temporary password) before sending a password reset email to the user so they can set a new password. Any previous request will be revoked.', + 'reset_password_title' => 'Reset the user\'s password', + 'password_successfully_reset' => 'Password successfully reset', + 'user_has_x_active_pat' => ':count active token(s)', + 'user_has_x_security_devices' => ':count security device(s) (passkeys)', + 'revoke_all_pat_for_user' => 'Revoke all user\'s tokens', + 'revoke_all_devices_for_user' => 'Revoke all user\'s security devices', + 'danger_zone' => 'Danger Zone', + 'delete_this_user_legend' => 'The user account will be deleted as well as all its 2FA data.', + 'this_is_not_soft_delete' => 'This is not a soft delete, there is no going back.', + 'delete_this_user' => 'Delete this user', + 'user_role_updated' => 'User role updated', + 'pats_succesfully_revoked' => 'User\'s PATs successfully revoked', + 'security_devices_succesfully_revoked' => 'User\'s security devices successfully revoked', + 'variables' => 'Variables', + 'cache_cleared' => 'Cache cleared', + 'cache_optimized' => 'Cache optimized', + 'check_now' => 'Check now', + 'view_on_github' => 'View on Github', + 'x_is_available' => ':version is available', + 'successful_login_on' => 'Successful login on :login_at', + 'successful_logout_on' => 'Successful logout on :login_at', + 'failed_login_on' => 'Failed login on :login_at', + 'viewed_on' => 'Viewed on :login_at', + 'last_accesses' => 'Last accesses', + 'see_full_log' => 'See full log', + 'browser_on_platform' => ':browser on :platform', + 'access_log_has_more_entries' => 'The access log contains more entries.', + 'access_log_legend_for_user' => 'Full access log for user :username', + 'show_last_month_log' => 'Show entries from the last month', + 'show_three_months_log' => 'Show entries from the last 3 months', + 'show_six_months_log' => 'Show entries from the last 6 months', + 'show_one_year_log' => 'Show entries from the last year', + 'sort_by_date_asc' => 'Show least recent first', + 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', + 'forms' => [ + 'use_encryption' => [ + 'label' => 'Protect sensitive data', + 'help' => 'Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key.', + ], + 'restrict_registration' => [ + 'label' => 'Restrict registration', + 'help' => 'Make registration only available to a limited range of email addresses. Both rules can be used simultaneously. This has no effect on registration via SSO.', + ], + 'restrict_list' => [ + 'label' => 'Filtering list', + 'help' => 'Emails in this list will be allowed to register. Separate addresses with a pipe ("|")', + ], + 'restrict_rule' => [ + 'label' => 'Filtering rule', + 'help' => 'Emails matching this regular expression will be allowed to register', + ], + 'disable_registration' => [ + 'label' => 'Disable registration', + 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', + ], + 'enable_sso' => [ + 'label' => 'Enable SSO', + 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', + ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], + 'keep_sso_registration_enabled' => [ + 'label' => 'Keep SSO registration enabled', + 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', + ], + 'is_admin' => [ + 'label' => 'Is administrator', + 'help' => 'Give administrator rights to the user. Administrators have permissions to manage the whole app, i.e. settings and other users, but cannot generate password for a 2FA they don\'t own.' + ], + 'test_email' => [ + 'label' => 'Email configuration test', + 'help' => 'Send a test email to control your instance\'s email configuration. It is important to have a working configuration, otherwise users will not be able to request a reset password.', + 'email_will_be_send_to_x' => 'The email will be send to :email', + ], + 'cache_management' => [ + 'label' => 'Cache management', + 'help' => 'Sometimes cache needs to be cleared, for instance after a change to environment variables or an update. You can do it from here.', + ] + ], + +]; \ No newline at end of file diff --git a/resources/lang/pl/auth.php b/resources/lang/pl/auth.php new file mode 100644 index 00000000..2c80d4a2 --- /dev/null +++ b/resources/lang/pl/auth.php @@ -0,0 +1,142 @@ + 'These credentials do not match our records.', + 'password' => 'The provided password is incorrect.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + + // 2FAuth + 'sign_out' => 'Sign out', + 'sign_in' => 'Sign in', + 'sign_in_using' => 'Sign in using', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', + 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', + 'sign_in_using_security_device' => 'Sign in using a security device', + 'login_and_password' => 'login & password', + 'register' => 'Register', + 'welcome_to_2fauth' => 'Welcome to 2FAuth', + 'autolock_triggered' => 'Auto lock triggered', + 'autolock_triggered_punchline' => 'Auto-lock triggered, you\'ve been logged out', + 'already_authenticated' => 'Already authenticated, please log out first', + 'authentication' => 'Authentication', + 'maybe_later' => 'Maybe later', + 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', + 'auth_handled_by_proxy' => 'Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', + 'confirm' => [ + 'logout' => 'Are you sure you want to log out?', + 'revoke_device' => 'Are you sure you want to revoke this device?', + 'delete_account' => 'Are you sure you want to delete your account?', + ], + 'webauthn' => [ + 'security_device' => 'a security device', + 'security_devices' => 'Security devices', + 'security_devices_legend' => 'Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)', + 'enhance_security_using_webauthn' => 'You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

+ WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.', + 'use_security_device_to_sign_in' => 'Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.', + 'lost_your_device' => 'Lost your device?', + 'recover_your_account' => 'Recover your account', + 'account_recovery' => 'Account recovery', + 'recovery_punchline' => '2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.', + 'send_recovery_link' => 'Send recovery link', + 'account_recovery_email_sent' => 'Account recovery email sent!', + 'disable_all_security_devices' => 'Disable all security devices', + 'disable_all_security_devices_help' => 'All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.', + 'register_a_new_device' => 'Register a new device', + 'register_a_device' => 'Register a device', + 'device_successfully_registered' => 'Device successfully registered', + 'device_revoked' => 'Device successfully revoked', + 'revoking_a_device_is_permanent' => 'Revoking a device is permanent', + 'recover_account_instructions' => 'To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.', + 'invalid_recovery_token' => 'Invalid recovery token', + 'webauthn_login_disabled' => 'Webauthn login disabled', + 'invalid_reset_token' => 'This reset token is invalid.', + 'rename_device' => 'Rename device', + 'my_device' => 'My device', + 'unknown_device' => 'Unknown device', + 'use_webauthn_only' => [ + 'label' => 'Use WebAuthn only', + 'help' => 'Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

+ In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

+ Attention! The Email & Password form remains available despite this option being enabled, but it will always return an \'Authentication failed\' response.' + ], + 'need_a_security_device_to_enable_options' => 'Set at least one device to enable the following options', + 'options' => 'Options', + ], + 'forms' => [ + 'name' => 'Name', + 'login' => 'Login', + 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', + 'email' => 'Email', + 'password' => 'Password', + 'reveal_password' => 'Reveal password', + 'hide_password' => 'Hide password', + 'confirm_password' => 'Confirm password', + 'new_password' => 'New password', + 'confirm_new_password' => 'Confirm new password', + 'dont_have_account_yet' => 'Don\'t have your account yet?', + 'already_register' => 'Already registered?', + 'authentication_failed' => 'Authentication failed', + 'forgot_your_password' => 'Forgot your password?', + 'request_password_reset' => 'Reset it', + 'reset_your_password' => 'Reset your password', + 'reset_password' => 'Reset password', + 'disabled_in_demo' => 'Feature disabled in Demo mode', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', + 'new_password' => 'New password', + 'current_password' => [ + 'label' => 'Current password', + 'help' => 'Fill in your current password to confirm that it\'s you' + ], + 'change_password' => 'Change password', + 'send_password_reset_link' => 'Send password reset link', + 'password_successfully_reset' => 'Password successfully reset', + 'edit_account' => 'Edit account', + 'profile_saved' => 'Profile successfully updated!', + 'welcome_to_demo_app_use_those_credentials' => 'Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo', + 'welcome_to_testing_app_use_those_credentials' => 'Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password', + 'register_punchline' => 'Welcome to 2FAuth.
You need an account to go further, please register yourself.', + 'reset_punchline' => '2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.', + 'name_this_device' => 'Name this device', + 'delete_account' => 'Delete account', + 'delete_your_account' => 'Delete your account', + 'delete_your_account_and_reset_all_data' => 'Your user account will be deleted as well as all your 2FA data. There is no going back.', + 'reset_your_password_to_delete_your_account' => 'If you always used SSO to sign in, sign out then use the reset password feature to get a password so you can fill this form.', + 'deleting_2fauth_account_does_not_impact_provider' => 'Deleting your 2FAuth account has no impact on your external SSO account.', + 'user_account_successfully_deleted' => 'User account successfully deleted', + 'has_lower_case' => 'Has lower case', + 'has_upper_case' => 'Has upper case', + 'has_special_char' => 'Has special char', + 'has_number' => 'Has number', + 'is_long_enough' => '8 characters min.', + 'mandatory_rules' => 'Mandatory', + 'optional_rules_you_should_follow' => 'Recommanded (highly)', + 'caps_lock_is_on' => 'Caps lock is On', + ], + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] +]; diff --git a/resources/lang/pl/commons.php b/resources/lang/pl/commons.php new file mode 100644 index 00000000..17c0c45e --- /dev/null +++ b/resources/lang/pl/commons.php @@ -0,0 +1,94 @@ + 'Cancel', + 'update' => 'Update', + 'copy' => 'Copy', + 'copy_to_clipboard' => 'Copy to clipboard', + 'copied_to_clipboard' => 'Copied to clipboard', + 'profile' => 'Profile', + 'edit' => 'Edit', + 'delete' => 'Delete', + 'disable' => 'Disable', + 'enable' => 'Enable', + 'create' => 'Create', + 'save' => 'Save', + 'close' => 'Close', + 'clear' => 'Clear', + 'clear_search' => 'Clear search', + 'demo_do_not_post_sensitive_data' => 'This is a demo app, do not post any sensitive data', + 'testing_do_not_post_sensitive_data' => 'This is a testing app, do not post any sensitive data', + 'x_selected' => ':count selected', + 'name' => 'Name', + 'manage' => 'Manage', + 'done' => 'Done', + 'new' => 'New', + 'back' => 'Back', + 'move' => 'Move', + 'export' => 'Export', + 'all' => 'All', + 'check_all' => 'All', + 'select_all' => 'Select all', + 'clear_selection' => 'Clear selection', + 'sort_descending' => 'Sort descending', + 'sort_ascending' => 'Sort ascending', + 'rename' => 'Rename', + 'new_name' => 'New name', + 'options' => 'Options', + 'reload' => 'Reload', + 'refresh' => 'Refresh', + 'data_refreshed_to_reflect_server_changes' => 'Data has been refresh to reflect server-side changes', + 'generate' => 'Generate', + 'generating_otp' => 'Generating OTP', + 'open_in_browser' => 'Open in browser', + 'continue' => 'Continue', + 'discard' => 'Discard', + 'about' => 'About', + 'usefull_links' => 'Usefull links', + 'environment' => 'Environment', + 'credits' => 'Credits', + '2fauth_teaser' => 'A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes', + 'made_with' => 'Made with', + 'ui_icons_by' => 'UI Icons by', + 'logos_by' => 'Logos by', + 'search' => 'Search', + 'resources' => 'Resources', + 'check_for_update' => 'Check for new version', + 'check_for_update_help' => 'Automatically check (once a week) and warn when a new release of 2FAuth is published on Github', + 'you_are_up_to_date' => 'This instance is up-to-date', + '2fauth_description' => 'A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes', + 'image_of_qrcode_to_scan' => 'Image of a QR code to scan', + 'file' => 'File', + 'or' => 'OR', + 'close_the_x_page' => 'Close the :pagetitle page', + 'submit' => 'Submit', + 'default' => 'Default', + 'back_to_home' => 'Back to home', + 'nothing' => 'nothing', + 'no_result' => 'No result', + 'information' => 'Information', + 'send' => 'Send', + 'optimize' => 'Optimize', + 'IP' => 'IP', + 'browser' => 'Browser', + 'operating_system_short' => 'OS', + 'no_entry_yet' => 'No entry yet', + 'time' => 'Time', + 'ip_address' => 'IP Address', + 'device' => 'Device', + 'one_month' => '1 mo.', + 'x_month' => ':x mos.', + 'one_year' => '1 yr.', +]; diff --git a/resources/lang/pl/errors.php b/resources/lang/pl/errors.php new file mode 100644 index 00000000..5e067027 --- /dev/null +++ b/resources/lang/pl/errors.php @@ -0,0 +1,76 @@ + 'Resource not found', + 'error_occured' => 'An error occured:', + 'refresh' => 'Refresh', + 'no_valid_otp' => 'No valid OTP resource in this QR code', + 'something_wrong_with_server' => 'Something is wrong with your server', + 'Unable_to_decrypt_uri' => 'Unable to decrypt uri', + 'not_a_supported_otp_type' => 'This OTP format is not currently supported', + 'cannot_create_otp_without_secret' => 'Cannot create an OTP without a secret', + 'data_of_qrcode_is_not_valid_URI' => 'The data of this QR code is not a valid OTP Auth URI. The QR code contains:', + 'wrong_current_password' => 'Wrong current password, nothing has changed', + 'error_during_encryption' => 'Encryption failed, your database remains unprotected.', + 'error_during_decryption' => 'Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.', + 'qrcode_cannot_be_read' => 'This QR code is unreadable', + 'too_many_ids' => 'too many ids were included in the query parameter, max 100 allowed', + 'delete_user_setting_only' => 'Only user-created setting can be deleted', + 'indecipherable' => '*indecipherable*', + 'cannot_decipher_secret' => 'The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.', + 'https_required' => 'HTTPS context required', + 'browser_does_not_support_webauthn' => 'Your device does not support webauthn. Try again later using a more modern browser', + 'aborted_by_user' => 'Aborted by user', + 'security_device_already_registered' => 'Device already registered', + 'not_allowed_operation' => 'Operation not allowed', + 'no_authenticator_support_specified_algorithms' => 'No authenticators support specified algorithms', + 'authenticator_missing_discoverable_credential_support' => 'Authenticator missing discoverable credential support', + 'authenticator_missing_user_verification_support' => 'Authenticator missing user verification support', + 'unknown_error' => 'Unknown error', + 'security_error_check_rpid' => 'Security error
Check your WEBAUTHN_ID env var', + '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', + 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', + 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', + 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', + 'auth_proxy_failed' => 'Proxy authentication failed', + 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', + 'invalid_x_migration' => 'Invalid or unreadable :appname data', + 'invalid_2fa_data' => 'Invalid 2FA data', + 'unsupported_migration' => 'Data do not match any supported format', + 'unsupported_otp_type' => 'Unsupported OTP type', + 'encrypted_migration' => 'Unreadable, the data seem encrypted', + 'no_logo_found_for_x' => 'No logo available for :service', + 'file_upload_failed' => 'File upload failed', + 'unauthorized' => 'Unauthorized', + 'unauthorized_legend' => 'You do not have permissions to view this resource or to perform this action', + 'cannot_delete_the_only_admin' => 'Cannot delete the only admin account', + 'cannot_demote_the_only_admin' => 'Cannot demote the only admin account', + 'error_during_data_fetching' => '💀 Something went wrong during data fetching', + 'check_failed_try_later' => 'Check failed, please retry later', + 'sso_disabled' => 'SSO is disabled', + 'sso_bad_provider_setup' => 'This SSO provider is not fully setup in your .env file', + 'sso_failed' => 'Authentication via SSO rejected', + 'sso_no_register' => 'Registrations are disabled', + 'sso_email_already_used' => 'A user account with the same email address already exists but it does not match your external account ID. Do not use SSO if you are already registered on 2FAuth with this email.', + 'account_managed_by_external_provider' => 'Account managed by an external provider', + 'data_cannot_be_refreshed_from_server' => 'Data cannot be refreshed from server', + 'no_pwd_reset_for_this_user_type' => 'Password reset unavailable for this user', + 'cannot_detect_qrcode_in_image' => 'Cannot detect a QR code in the image, try to crop the image', + 'cannot_decode_detected_qrcode' => 'Cannot decode detected QR code, try to crop or sharpen the image', + 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', + 'no_readable_qrcode' => 'No readable QR code', +]; \ No newline at end of file diff --git a/resources/lang/pl/groups.php b/resources/lang/pl/groups.php new file mode 100644 index 00000000..0a1124be --- /dev/null +++ b/resources/lang/pl/groups.php @@ -0,0 +1,41 @@ + 'Groups', + 'create_group' => 'Create new group', + 'show_group_selector' => 'Show group selector', + 'hide_group_selector' => 'Hide group selector', + 'select_accounts_to_show' => 'Select accounts group to show', + 'x_accounts' => ':count accounts', + 'manage_groups' => 'Manage groups', + 'active_group' => 'Active group', + 'manage_groups_legend' => 'You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named \'All\', regardless of the group they belong to.', + 'deleting_group_does_not_delete_accounts' => 'Deleting a group does not delete accounts', + 'move_selected_to' => 'Move selected to', + 'move_selected_to_group' => 'Move selected into a group', + 'no_group' => 'No group', + 'change_group' => 'Change group', + 'group_successfully_created' => 'Group successfully created', + 'group_name_saved' => 'Group name saved', + 'group_successfully_deleted' => 'Group successfully deleted', + 'forms' => [ + 'new_group' => 'New group', + 'new_name' => 'New name', + 'rename_group' => 'Rename group', + ], + 'confirm' => [ + 'delete' => 'Are you sure you want to delete this group?', + ], +]; \ No newline at end of file diff --git a/resources/lang/pl/languages.php b/resources/lang/pl/languages.php new file mode 100644 index 00000000..27f368b6 --- /dev/null +++ b/resources/lang/pl/languages.php @@ -0,0 +1,24 @@ + 'Browser preference', + 'en' => 'English (English)', + 'fr' => 'Français (French)', + 'de' => 'Deutsch (German)', + 'es' => 'Español (Spanish)', + 'zh' => '简体中文 (Chinese Simplified)', + 'ru' => 'Русский (Russian)', + 'bg' => 'Български (Bulgarian)', + 'ja' => '日本語 (Japanese)', + 'hi' => 'हिंदी (Hindi)', + 'tr' => 'Türkçe (Turkish)', +]; \ No newline at end of file diff --git a/resources/lang/pl/notifications.php b/resources/lang/pl/notifications.php new file mode 100644 index 00000000..cdeab118 --- /dev/null +++ b/resources/lang/pl/notifications.php @@ -0,0 +1,36 @@ + 'Hello', + 'hello_user' => 'Hello :username,', + 'regards' => 'Regards', + 'test_email_settings' => [ + 'subject' => '2FAuth test email', + 'reason' => 'You are receiving this email because you requested a test email to validate the email settings of your 2FAuth instance.', + 'success' => 'Good news, it works :)' + ], + 'new_device' => [ + 'subject' => 'Connection to 2FAuth from a new device', + 'resume' => 'A new device has just connected to your 2FAuth account.', + 'connection_details' => 'Here are the details of this connection', + 'recommandations' => 'If this was you, you can ignore this alert. If you suspect any suspicious activity on your account, please change your password.' + ], + 'failed_login' => [ + 'subject' => 'Failed login to 2FAuth', + 'resume' => 'There has been a failed login attempt to your 2FAuth account.', + 'connection_details' => 'Here are the details of this connection attempt', + 'recommandations' => 'If this was you, you can ignore this alert. If further attempts fail, you should contact the 2FAuth administrator to review security settings and take action against this attacker.' + ], +]; \ No newline at end of file diff --git a/resources/lang/pl/pagination.php b/resources/lang/pl/pagination.php new file mode 100644 index 00000000..d4814118 --- /dev/null +++ b/resources/lang/pl/pagination.php @@ -0,0 +1,19 @@ + '« Previous', + 'next' => 'Next »', + +]; diff --git a/resources/lang/pl/passwords.php b/resources/lang/pl/passwords.php new file mode 100644 index 00000000..a25271a3 --- /dev/null +++ b/resources/lang/pl/passwords.php @@ -0,0 +1,26 @@ + 'Your password has been reset!', + 'sent' => 'We have emailed your password reset link!', + 'throttled' => 'Please wait before retrying.', + 'token' => 'This password reset token is invalid.', + 'user' => "We can't find a user with that email address.", + + // 2FAuth + 'password' => 'Passwords must be at least eight characters and match the confirmation.', + +]; diff --git a/resources/lang/pl/settings.php b/resources/lang/pl/settings.php new file mode 100644 index 00000000..a3489935 --- /dev/null +++ b/resources/lang/pl/settings.php @@ -0,0 +1,184 @@ + 'Settings', + 'preferences' => 'Preferences', + 'account' => 'Account', + 'oauth' => 'OAuth', + 'webauthn' => 'WebAuthn', + 'tokens' => 'Tokens', + 'options' => 'Options', + 'user_preferences' => 'User preferences', + 'admin_settings' => 'Admin settings', + 'confirm' => [ + + ], + 'you_are_administrator' => 'You are an administrator', + 'account_linked_to_sso_x_provider' => 'You signed-in via SSO using your :provider account. Your information cannot be changed here but on :provider.', + 'general' => 'General', + 'security' => 'Security', + 'notifications' => 'Notifications', + 'profile' => 'Profile', + 'change_password' => 'Change password', + 'personal_access_tokens' => 'Personal access tokens', + 'token_legend' => 'Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.', + 'generate_new_token' => 'Generate a new token', + 'revoke' => 'Revoke', + 'token_revoked' => 'Token successfully revoked', + 'revoking_a_token_is_permanent' => 'Revoking a token is permanent', + 'confirm' => [ + 'revoke' => 'Are you sure you want to revoke this token?', + ], + 'make_sure_copy_token' => 'Make sure to copy your personal access token now. You won’t be able to see it again!', + 'data_input' => 'Data input', + 'forms' => [ + 'edit_settings' => 'Edit settings', + 'setting_saved' => 'Settings saved', + 'new_token' => 'New token', + 'some_translation_are_missing' => 'Some translations are missing using the browser preferred language?', + 'help_translate_2fauth' => 'Help translate 2FAuth', + 'language' => [ + 'label' => 'Language', + 'help' => 'Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference.' + ], + 'timezone' => [ + 'label' => 'Time zone', + 'help' => 'The time zone applied to all dates and times displayed in the application' + ], + 'show_otp_as_dot' => [ + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature' + ], + 'reveal_dotted_otp' => [ + 'label' => 'Reveal obscured OTP', + 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' + ], + 'close_otp_on_copy' => [ + 'label' => 'Close OTP after copy', + 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + ], + 'auto_close_timeout' => [ + 'label' => 'Auto close OTP', + 'help' => 'Automatically hide on-screen password after a timeout. This avoids unnecessary requests for fresh passwords if you forget to close the password view.' + ], + 'clear_search_on_copy' => [ + 'label' => 'Clear Search on copy', + 'help' => 'Empty the Search box right after a code has been copied to the clipboard' + ], + 'sort_case_sensitive' => [ + 'label' => 'Sort case sensitive', + 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + ], + 'copy_otp_on_display' => [ + 'label' => 'Copy OTP on display', + 'help' => 'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones' + ], + 'use_basic_qrcode_reader' => [ + 'label' => 'Use basic QR code reader', + 'help' => 'If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader' + ], + 'display_mode' => [ + 'label' => 'Display mode', + 'help' => 'Choose whether you want accounts to be displayed as a list or as a grid' + ], + 'password_format' => [ + 'label' => 'Password formatting', + 'help' => 'Change how the passwords are displayed by grouping digits to ease readability and memorization' + ], + 'pair' => 'by Pair', + 'pair_legend' => 'Group digits two by two', + 'trio_legend' => 'Group digits three by three', + 'half_legend' => 'Split digits into two equals groups', + 'trio' => 'by Trio', + 'half' => 'by Half', + 'grid' => 'Grid', + 'list' => 'List', + 'theme' => [ + 'label' => 'Theme', + 'help' => 'Force a specific theme or apply the theme defined in your system/browser preferences' + ], + 'light' => 'Light', + 'dark' => 'Dark', + 'automatic' => 'Auto', + 'show_accounts_icons' => [ + 'label' => 'Show icons', + 'help' => 'Show icons accounts in the main view' + ], + 'get_official_icons' => [ + 'label' => 'Get official icons', + 'help' => '(Try to) Get the official icon of the 2FA issuer when adding an account' + ], + 'auto_lock' => [ + 'label' => 'Auto lock', + 'help' => 'Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified.' + ], + 'default_group' => [ + 'label' => 'Default group', + 'help' => 'The group to which the newly created accounts are associated', + ], + 'view_default_group_on_copy' => [ + 'label' => 'View default group on copy', + 'help' => 'Always return to the default group when an OTP is copied', + ], + 'auto_save_qrcoded_account' => [ + 'label' => 'Auto-save accounts', + 'help' => 'New accounts are automatically registered after scanning or uploading a QR code, no need to click a Save button', + ], + 'useDirectCapture' => [ + 'label' => 'Direct input', + 'help' => 'Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode', + ], + 'defaultCaptureMode' => [ + 'label' => 'Default input mode', + 'help' => 'Default input mode used when the Direct input option is On', + ], + 'remember_active_group' => [ + 'label' => 'Remember group filter', + 'help' => 'Save the last group filter applied and restore it on your next visit', + ], + 'otp_generation' => [ + 'label' => 'Show Password', + 'help' => 'Set how and when OTPs are displayed.
', + ], + 'notify_on_new_auth_device' => [ + 'label' => 'On new device', + 'help' => 'Get an email when a new device connects to your 2FAuth account for the first time' + ], + 'notify_on_failed_login' => [ + 'label' => 'On failed login', + 'help' => 'Get an email each time an attempt to connect to your 2FAuth account fails' + ], + 'otp_generation_on_request' => 'After a click/tap', + 'otp_generation_on_request_legend' => 'Alone, in its own view', + 'otp_generation_on_request_title' => 'Click an account to get a password in a dedicated view', + 'otp_generation_on_home' => 'Constantly', + 'otp_generation_on_home_legend' => 'All of them, on home', + 'otp_generation_on_home_title' => 'Show all passwords in the main view, without doing anything', + 'never' => 'Never', + 'on_otp_copy' => 'On security code copy', + '1_minutes' => 'After 1 minute', + '2_minutes' => 'After 2 minutes', + '5_minutes' => 'After 5 minutes', + '10_minutes' => 'After 10 minutes', + '15_minutes' => 'After 15 minutes', + '30_minutes' => 'After 30 minutes', + '1_hour' => 'After 1 hour', + '1_day' => 'After 1 day', + 'livescan' => 'QR code livescan', + 'upload' => 'QR code upload', + 'advanced_form' => 'Advanced form', + ], + +]; \ No newline at end of file diff --git a/resources/lang/pl/titles.php b/resources/lang/pl/titles.php new file mode 100644 index 00000000..85802fe8 --- /dev/null +++ b/resources/lang/pl/titles.php @@ -0,0 +1,58 @@ + 'New account', + 'capture' => 'Flash QR', + 'accounts' => 'Accounts', + 'createAccount' => 'Create account', + 'importAccounts' => 'Import accounts', + 'editAccount' => 'Account edit', + 'showQRcode' => 'Account as QR code', + 'groups' => 'Groups', + 'createGroup' => 'Create group', + 'editGroup' => 'Group edit', + 'settings' => [ + 'options' => 'Options', + 'account' => 'User account', + 'oauth' => [ + 'tokens' => 'OAuth tokens', + 'generatePAT' => 'New personal token', + ], + 'webauthn' => [ + 'editCredential' => 'Device edit', + 'devices' => 'WebAuthn devices', + ], + ], + 'login' => 'Login', + 'register' => 'Register', + 'autolock' => 'Auto lock', + 'password' => [ + 'request' => 'Reset password', + 'reset' => 'New password', + ], + 'webauthn' => [ + 'lost' => 'Account recovery', + 'recover' => 'Register a new device', + ], + 'flooded' => 'Flood', + 'genericError' => 'Error', + '404' => 'Item not found', + 'about' => 'About', + 'admin' => [ + 'appSetup' => 'App setup', + 'users' => 'Users management', + 'createUser' => 'Create user', + 'manageUser' => 'Manage user', + 'logs' => [ + 'access' => 'Access log' + ] + ] +]; \ No newline at end of file diff --git a/resources/lang/pl/twofaccounts.php b/resources/lang/pl/twofaccounts.php new file mode 100644 index 00000000..92ddb567 --- /dev/null +++ b/resources/lang/pl/twofaccounts.php @@ -0,0 +1,174 @@ + 'Service', + 'account' => 'Account', + 'icon' => 'Icon', + 'icon_to_illustrate_the_account' => 'Icon that illustrates the account', + 'remove_icon' => 'Remove icon', + 'no_account_here' => 'No 2FA here!', + 'add_first_account' => 'Pick a method and add your first account', + 'use_full_form' => 'Or use the full form', + 'add_one' => 'Add one', + 'show_qrcode' => 'Show QR code', + 'no_service' => '- no service -', + 'account_created' => 'Account successfully created', + 'account_updated' => 'Account successfully updated', + 'accounts_deleted' => 'Account(s) successfully deleted', + 'accounts_moved' => 'Account(s) successfully moved', + 'export_selected_to_json' => 'Download a json export of selected accounts', + 'reveal' => 'reveal', + 'forms' => [ + 'service' => [ + 'placeholder' => 'Google, Twitter, Apple', + ], + 'account' => [ + 'placeholder' => 'John DOE', + ], + 'new_account' => 'New account', + 'edit_account' => 'Edit account', + 'otp_uri' => 'OTP Uri', + 'scan_qrcode' => 'Scan a QR code', + 'upload_qrcode' => 'Upload a QR code', + 'use_advanced_form' => 'Use the advanced form', + 'prefill_using_qrcode' => 'Prefill using a QR Code', + 'use_qrcode' => [ + 'val' => 'Use a qrcode', + 'title' => 'Use a QR code to fill the form magically', + ], + 'unlock' => [ + 'val' => 'Unlock', + 'title' => 'Unlock it (at your own risk)', + ], + 'lock' => [ + 'val' => 'Lock', + 'title' => 'Lock it', + ], + 'choose_image' => 'Upload', + 'i_m_lucky' => 'Try my luck', + 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', + 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], + 'secret' => [ + 'label' => 'Secret', + 'help' => 'The key used to generate your security codes' + ], + 'plain_text' => 'Plain text', + 'otp_type' => [ + 'label' => 'Choose the type of OTP to create', + 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' + ], + 'digits' => [ + 'label' => 'Digits', + 'help' => 'The number of digits of the generated security codes' + ], + 'algorithm' => [ + 'label' => 'Algorithm', + 'help' => 'The algorithm used to secure your security codes' + ], + 'period' => [ + 'label' => 'Period', + 'placeholder' => 'Default is 30', + 'help' => 'The period of validity of the generated security codes in second' + ], + 'counter' => [ + 'label' => 'Counter', + 'placeholder' => 'Default is 0', + 'help' => 'The initial counter value', + 'help_lock' => 'It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing' + ], + 'image' => [ + 'label' => 'Image', + 'placeholder' => 'http://...', + 'help' => 'The url of an external image to use as the account icon' + ], + 'options_help' => 'You can leave the following options blank if you don\'t know how to set them. The most commonly used values will be applied.', + 'alternative_methods' => 'Alternative methods', + 'spaces_are_ignored' => 'Unwanted spaces will be automatically removed' + ], + 'stream' => [ + 'live_scan_cant_start' => 'Live scan can\'t start :(', + 'need_grant_permission' => [ + 'reason' => '2FAuth does not have permission to access your camera', + 'solution' => 'You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission.', + 'click_camera_icon' => 'It is usually done by clicking on a slashed camera icon in or next to the browser\'s address bar', + ], + 'not_readable' => [ + 'reason' => 'Fail to load scanner', + 'solution' => 'Is the camera already in use? Ensure that no other app use your camera and try again' + ], + 'no_cam_on_device' => [ + 'reason' => 'No camera on this device', + 'solution' => 'Maybe you forgot to plug in your webcam' + ], + 'secured_context_required' => [ + 'reason' => 'Secure context required', + 'solution' => 'HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost' + ], + 'https_required' => 'HTTPS required for camera streaming', + 'camera_not_suitable' => [ + 'reason' => 'Installed cameras are not suitable', + 'solution' => 'Please use another device/camera' + ], + 'stream_api_not_supported' => [ + 'reason' => 'Stream API is not supported in this browser', + 'solution' => 'You should use a modern browser' + ], + ], + 'confirm' => [ + 'delete' => 'Are you sure you want to delete this account?', + 'cancel' => 'Changes will be lost. Are you sure?', + 'discard' => 'Are you sure you want to discard this account?', + 'discard_all' => 'Are you sure you want to discard all accounts?', + 'discard_duplicates' => 'Are you sure you want to discard all duplicates?', + ], + 'import' => [ + 'import' => 'Import', + 'to_import' => 'Import', + 'import_legend' => '2FAuth can import data from various 2FA apps.', + 'import_legend_afterpart' => 'Use the Export feature of these apps to get a migration resource like a QR code or a JSON file then load it here.', + 'upload' => 'Upload', + 'scan' => 'Scan', + 'supported_formats_for_qrcode_upload' => 'Accepted: jpg, jpeg, png, bmp, gif, svg, or webp', + 'supported_formats_for_file_upload' => 'Accepted: Plain text, json, 2fas', + 'expected_format_for_direct_input' => 'Expected: A list of otpauth URI, one by line', + 'supported_migration_formats' => 'Supported migration formats', + 'qr_code' => 'QR Code', + 'text_file' => 'Text file', + 'direct_input' => 'Direct input', + 'plain_text' => 'Plain text', + 'parsing_data' => 'Parsing data...', + 'issuer' => 'Issuer', + 'imported' => 'Imported', + 'failure' => 'Failure', + 'x_valid_accounts_found' => ':count valid accounts found', + 'submitted_data_parsed_now_accounts_are_awaiting_import' => 'The following 2FA accounts were found in the migration resource. So far none of them have been added to 2FAuth.', + 'use_buttons_to_save_or_discard' => 'Use the available buttons to permanently save them to your 2FA collection or discard them.', + 'import_all' => 'Import all', + 'import_this_account' => 'Import this account', + 'discard_all' => 'Discard all', + 'discard_duplicates' => 'Discard duplicates', + 'discard_this_account' => 'Discard this account', + 'generate_a_test_password' => 'Generate a test pasword', + 'possible_duplicate' => 'An account with the exact same data already exists', + 'invalid_account' => '- invalid account -', + 'invalid_service' => '- invalid service -', + 'do_not_set_password_or_encryption' => 'Do NOT enable Password protection or Encryption when you export data from a 2FA app otherwise 2FAuth will not be able to decipher them.', + ], + +]; \ No newline at end of file diff --git a/resources/lang/pl/validation.php b/resources/lang/pl/validation.php new file mode 100644 index 00000000..c86ec16f --- /dev/null +++ b/resources/lang/pl/validation.php @@ -0,0 +1,207 @@ + 'The :attribute must be accepted.', + 'accepted_if' => 'The :attribute must be accepted when :other is :value.', + 'active_url' => 'The :attribute is not a valid URL.', + 'after' => 'The :attribute must be a date after :date.', + 'after_or_equal' => 'The :attribute must be a date after or equal to :date.', + 'alpha' => 'The :attribute must only contain letters.', + 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.', + 'alpha_num' => 'The :attribute must only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'before' => 'The :attribute must be a date before :date.', + 'before_or_equal' => 'The :attribute must be a date before or equal to :date.', + 'between' => [ + 'array' => 'The :attribute must have between :min and :max items.', + 'file' => 'The :attribute must be between :min and :max kilobytes.', + 'numeric' => 'The :attribute must be between :min and :max.', + 'string' => 'The :attribute must be between :min and :max characters.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'confirmed' => 'The :attribute confirmation does not match.', + 'current_password' => 'The password is incorrect.', + 'date' => 'The :attribute is not a valid date.', + 'date_equals' => 'The :attribute must be a date equal to :date.', + 'date_format' => 'The :attribute does not match the format :format.', + 'declined' => 'The :attribute must be declined.', + 'declined_if' => 'The :attribute must be declined when :other is :value.', + 'different' => 'The :attribute and :other must be different.', + 'digits' => 'The :attribute must be :digits digits.', + 'digits_between' => 'The :attribute must be between :min and :max digits.', + 'dimensions' => 'The :attribute has invalid image dimensions.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'doesnt_end_with' => 'The :attribute may not end with one of the following: :values.', + 'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.', + 'email' => 'The :attribute must be a valid email address.', + 'ends_with' => 'The :attribute must end with one of the following: :values.', + 'enum' => 'The selected :attribute is invalid.', + 'exists' => 'The selected :attribute is invalid.', + 'file' => 'The :attribute must be a file.', + 'filled' => 'The :attribute field must have a value.', + 'gt' => [ + 'array' => 'The :attribute must have more than :value items.', + 'file' => 'The :attribute must be greater than :value kilobytes.', + 'numeric' => 'The :attribute must be greater than :value.', + 'string' => 'The :attribute must be greater than :value characters.', + ], + 'gte' => [ + 'array' => 'The :attribute must have :value items or more.', + 'file' => 'The :attribute must be greater than or equal to :value kilobytes.', + 'numeric' => 'The :attribute must be greater than or equal to :value.', + 'string' => 'The :attribute must be greater than or equal to :value characters.', + ], + 'image' => 'The :attribute must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'in_array' => 'The :attribute field does not exist in :other.', + 'integer' => 'The :attribute must be an integer.', + 'ip' => 'The :attribute must be a valid IP address.', + 'ipv4' => 'The :attribute must be a valid IPv4 address.', + 'ipv6' => 'The :attribute must be a valid IPv6 address.', + 'json' => 'The :attribute must be a valid JSON string.', + 'lt' => [ + 'array' => 'The :attribute must have less than :value items.', + 'file' => 'The :attribute must be less than :value kilobytes.', + 'numeric' => 'The :attribute must be less than :value.', + 'string' => 'The :attribute must be less than :value characters.', + ], + 'lte' => [ + 'array' => 'The :attribute must not have more than :value items.', + 'file' => 'The :attribute must be less than or equal to :value kilobytes.', + 'numeric' => 'The :attribute must be less than or equal to :value.', + 'string' => 'The :attribute must be less than or equal to :value characters.', + ], + 'mac_address' => 'The :attribute must be a valid MAC address.', + 'max' => [ + 'array' => 'The :attribute must not have more than :max items.', + 'file' => 'The :attribute must not be greater than :max kilobytes.', + 'numeric' => 'The :attribute must not be greater than :max.', + 'string' => 'The :attribute must not be greater than :max characters.', + ], + 'max_digits' => 'The :attribute must not have more than :max digits.', + 'mimes' => 'The :attribute must be a file of type: :values.', + 'mimetypes' => 'The :attribute must be a file of type: :values.', + 'min' => [ + 'array' => 'The :attribute must have at least :min items.', + 'file' => 'The :attribute must be at least :min kilobytes.', + 'numeric' => 'The :attribute must be at least :min.', + 'string' => 'The :attribute must be at least :min characters.', + ], + 'min_digits' => 'The :attribute must have at least :min digits.', + 'multiple_of' => 'The :attribute must be a multiple of :value.', + 'not_in' => 'The selected :attribute is invalid.', + 'not_regex' => 'The :attribute format is invalid.', + 'numeric' => 'The :attribute must be a number.', + 'password' => [ + 'letters' => 'The :attribute must contain at least one letter.', + 'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.', + 'numbers' => 'The :attribute must contain at least one number.', + 'symbols' => 'The :attribute must contain at least one symbol.', + 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', + ], + 'present' => 'The :attribute field must be present.', + 'prohibited' => 'The :attribute field is prohibited.', + 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', + 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', + 'prohibits' => 'The :attribute field prohibits :other from being present.', + 'regex' => 'The :attribute format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_array_keys' => 'The :attribute field must contain entries for: :values.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_if_accepted' => 'The :attribute field is required when :other is accepted.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values are present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute and :other must match.', + 'size' => [ + 'array' => 'The :attribute must contain :size items.', + 'file' => 'The :attribute must be :size kilobytes.', + 'numeric' => 'The :attribute must be :size.', + 'string' => 'The :attribute must be :size characters.', + ], + 'starts_with' => 'The :attribute must start with one of the following: :values.', + 'string' => 'The :attribute must be a string.', + 'timezone' => 'The :attribute must be a valid timezone.', + 'unique' => 'The :attribute has already been taken.', + 'uploaded' => 'The :attribute failed to upload.', + 'url' => 'The :attribute must be a valid URL.', + 'uuid' => 'The :attribute must be a valid UUID.', + + 'single' => 'When using :attribute it must be the only parameter in this request body', + 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'icon' => [ + 'image' => 'Supported format are jpeg, png, bmp, gif, svg, or webp.', + ], + 'qrcode' => [ + 'image' => 'Supported format are jpeg, png, bmp, gif, svg, or webp.', + ], + 'uri' => [ + 'regex' => 'The :attribute is not a valid otpauth uri.', + ], + 'otp_type' => [ + 'in' => 'The :attribute is not supported.', + ], + 'email' => [ + 'exists' => 'No account found using this email.', + 'ComplyWithEmailRestrictionPolicy' => 'This email address does not comply with the registration policy', + 'IsValidEmailList' => 'All emails must be valid and separated with a pipe' + ], + 'secret' => [ + 'isBase32Encoded' => 'The :attribute must be a base32 encoded string.', + ], + 'account' => [ + 'regex' => 'The :attribute must not contain colon.', + ], + 'service' => [ + 'regex' => 'The :attribute must not contain colon.', + ], + 'label' => [ + 'required' => 'The uri must have a label.', + ], + 'ids' => [ + 'regex' => 'IDs must be comma separated, without trailing comma.', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/resources/lang/pt/admin.php b/resources/lang/pt/admin.php index 79431c3e..a4fa58f3 100644 --- a/resources/lang/pt/admin.php +++ b/resources/lang/pt/admin.php @@ -13,11 +13,12 @@ | */ - 'admin' => 'Admin', - 'app_setup' => 'Configuração do App', - 'registrations' => 'Cadastros', + 'admin' => 'Administrador', + 'app_setup' => 'Configuração da Aplicação', + 'auth' => 'Auth', + 'registrations' => 'Registos', 'users' => 'Usuários', - 'users_legend' => 'Gerenciar usuários registrados em sua instância ou criar novos.', + 'users_legend' => 'Gerenciar usuários registrados ou criar em sua instância.', 'admin_settings' => 'Configurações de administração', 'create_new_user' => 'Criar usuário', 'new_user' => 'Novo usuário', @@ -46,7 +47,7 @@ 'password_request_expired' => 'Uma solicitação de redefinição de senha existe para este usuário, mas expirou, o que significa que o usuário não alterou sua senha a tempo. Esta pode ser uma requisição do próprio usuário ou de um administrador.', 'resend_email' => 'Reenviar e-mail', 'resend_email_title' => 'Reenviar um e-mail de redefinição de senha ao usuário', - 'resend_email_help' => 'Use Reenviar e-mail para enviar um novo e-mail de redefinição de senha para o usuário para que ele possa definir uma nova senha. Isso deixará sua senha atual como está e qualquer pedido anterior será revogado.', + 'resend_email_help' => 'Use Reenviar e-mail para enviar um novo e-mail de redefinição de senha para o usuário para ele definir uma nova senha. Isso deixará sua senha atual como está e qualquer pedido anterior será revogado.', 'reset_password' => 'Redefinir senha', 'reset_password_help' => 'Use Redefinir senha para forçar uma redefinição de senha (isso irá definir uma senha temporária) antes de enviar um e-mail de redefinição de senha para o usuário para que eles possam definir uma nova senha. Qualquer solicitação anterior será revogada.', 'reset_password_title' => 'Redefinir a senha do usuário', @@ -57,11 +58,11 @@ 'revoke_all_devices_for_user' => 'Revogar os dispositivos de segurança de todos os usuários', 'danger_zone' => 'Zona de perigo', 'delete_this_user_legend' => 'A conta de usuário será excluída assim como todos os seus dados de 2FA.', - 'this_is_not_soft_delete' => 'Não se trata de uma exclusão suave, não se pode voltar atrás.', + 'this_is_not_soft_delete' => 'Não se trata de uma exclusão suave, não se pode retroceder.', 'delete_this_user' => 'Excluir este usuário', 'user_role_updated' => 'Função do usuário atualizada', - 'pats_succesfully_revoked' => 'PATs do usuário revogados com sucesso', - 'security_devices_succesfully_revoked' => 'Dispositivos de segurança do usuário revogados com sucesso', + 'pats_succesfully_revoked' => 'PATs do usuário revogado com sucesso', + 'security_devices_succesfully_revoked' => 'Dispositivos de segurança do usuário revogado com sucesso', 'variables' => 'Variáveis', 'cache_cleared' => 'Cache apagado', 'cache_optimized' => 'Cache otimizado', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Mostrar entradas do último ano', 'sort_by_date_asc' => 'Mostrar o mais antigo primeiro', 'sort_by_date_desc' => 'Mostrar o mais recente primeiro', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Proteja dados confidenciais', @@ -105,9 +107,13 @@ 'help' => 'Impedir novos registros. A menos que sobrescrito (veja abaixo), isto afeta SSO também, então novos usuários não serão capazes de entrar via SSO', ], 'enable_sso' => [ - 'label' => 'Ativando o logon único (SSO)', + 'label' => 'Enable SSO', 'help' => 'Permitir que os visitantes autentiquem usando um ID externo por meio do esquema de logon SSO', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Mantenha o registro SSO ativado', 'help' => 'Permite que novos usuários façam login pela primeira vez via SSO enquanto os registros estão desativados', diff --git a/resources/lang/pt/auth.php b/resources/lang/pt/auth.php index 7334b79a..4ec29f90 100644 --- a/resources/lang/pt/auth.php +++ b/resources/lang/pt/auth.php @@ -14,115 +14,129 @@ */ // Laravel - 'failed' => 'These credentials do not match our records.', - 'password' => 'The provided password is incorrect.', - 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + 'failed' => 'Essas credenciais não correspondem aos nossos registros.', + 'password' => 'A senha inserida está incorreta.', + 'throttle' => 'Muitas tentativas de login. Por favor, tente novamente em :seconds segundos.', // 2FAuth - 'sign_out' => 'Sign out', - 'sign_in' => 'Sign in', - 'sign_in_using' => 'Sign in using', - 'or_continue_with' => 'You can also continue with:', - 'sign_in_using_security_device' => 'Sign in using a security device', - 'login_and_password' => 'login & password', - 'register' => 'Register', - 'welcome_to_2fauth' => 'Welcome to 2FAuth', - 'autolock_triggered' => 'Auto lock triggered', - 'autolock_triggered_punchline' => 'Auto-lock triggered, you\'ve been logged out', - 'already_authenticated' => 'Already authenticated, please log out first', - 'authentication' => 'Authentication', - 'maybe_later' => 'Maybe later', - 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', - 'auth_handled_by_proxy' => 'Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.', + 'sign_out' => 'Encerrar Sessão', + 'sign_in' => 'Entrar', + 'sign_in_using' => 'Entrar usando', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', + 'or_continue_with' => 'Você também pode continuar com:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', + 'sign_in_using_security_device' => 'Fazer login usando um dispositivo de segurança', + 'login_and_password' => 'usuário e senha', + 'register' => 'Cadastro', + 'welcome_to_2fauth' => 'Bem-vindo(a) ao 2FAuth', + 'autolock_triggered' => 'Bloqueio automático acionado', + 'autolock_triggered_punchline' => 'Bloqueio automático acionado, você foi desconectado', + 'already_authenticated' => 'Já autenticado, por favor, saia primeiro', + 'authentication' => 'Autenticação', + 'maybe_later' => 'Farei isso depois', + 'user_account_controlled_by_proxy' => 'Conta do usuário disponibilizada por um proxy de autenticação.
Gerencie a conta no nível de proxy.', + 'auth_handled_by_proxy' => 'Autenticação manipulada por um proxy reverso, as configurações abaixo estão desativadas.
Gerenciar autenticação no nível do proxy.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ - 'logout' => 'Are you sure you want to log out?', - 'revoke_device' => 'Are you sure you want to revoke this device?', - 'delete_account' => 'Are you sure you want to delete your account?', + 'logout' => 'Tem certeza que deseja sair?', + 'revoke_device' => 'Tem certeza de que deseja excluir este dispositivo?', + 'delete_account' => 'Tem certeza que deseja excluir sua conta?', ], 'webauthn' => [ - 'security_device' => 'a security device', - 'security_devices' => 'Security devices', - 'security_devices_legend' => 'Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)', - 'enhance_security_using_webauthn' => 'You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

- WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.', - 'use_security_device_to_sign_in' => 'Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.', - 'lost_your_device' => 'Lost your device?', - 'recover_your_account' => 'Recover your account', - 'account_recovery' => 'Account recovery', - 'recovery_punchline' => '2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.', - 'send_recovery_link' => 'Send recovery link', - 'account_recovery_email_sent' => 'Account recovery email sent!', - 'disable_all_security_devices' => 'Disable all security devices', - 'disable_all_security_devices_help' => 'All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.', - 'register_a_new_device' => 'Register a new device', - 'register_a_device' => 'Register a device', - 'device_successfully_registered' => 'Device successfully registered', - 'device_revoked' => 'Device successfully revoked', - 'revoking_a_device_is_permanent' => 'Revoking a device is permanent', - 'recover_account_instructions' => 'To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.', - 'invalid_recovery_token' => 'Invalid recovery token', - 'webauthn_login_disabled' => 'Webauthn login disabled', - 'invalid_reset_token' => 'This reset token is invalid.', - 'rename_device' => 'Rename device', - 'my_device' => 'My device', - 'unknown_device' => 'Unknown device', + 'security_device' => 'um dispositivo de segurança', + 'security_devices' => 'Dispositivos de segurança', + 'security_devices_legend' => 'Os dispositivos de autenticação que você pode usar para entrar no 2FAuth, como chaves de segurança (ex: Yubikey) ou smartphones com recursos biométricos (ex: Apple FaceId/TouchId)', + 'enhance_security_using_webauthn' => 'Você pode aumentar a segurança da sua conta 2FAuth ativando a autenticação WebAuthn.

+ WebAuthn permite que você use dispositivos confiáveis (como Yubikeys ou smartphones com capacidade biométrica) para entrar de forma rápida e segura.', + 'use_security_device_to_sign_in' => 'Prepare-se para autenticar usando (um dos) seus dispositivos de segurança. Conecte sua chave, remova a máscara de rosto ou luvas, etc.', + 'lost_your_device' => 'Perdeu seu dispositivo?', + 'recover_your_account' => 'Recupere sua conta', + 'account_recovery' => 'Recuperar conta', + 'recovery_punchline' => '2FAuth enviará um link de recuperação para este endereço de e-mail. Clique no link no e-mail recebido e siga as instruções.

Certifique-se de abrir o e-mail em um dispositivo que você possui.', + 'send_recovery_link' => 'Enviar link de recuperação', + 'account_recovery_email_sent' => 'E-mail de recuperação da conta enviado!', + 'disable_all_security_devices' => 'Desativar todos os dispositivos de segurança', + 'disable_all_security_devices_help' => 'Todos os seus dispositivos de segurança serão revogados. Use esta opção se você perdeu um ou sua segurança foi comprometida.', + 'register_a_new_device' => 'Registrar um novo dispositivo', + 'register_a_device' => 'Registra um dispositivo', + 'device_successfully_registered' => 'Dispositivo registrado com sucesso', + 'device_revoked' => 'Dispositivo revogado com sucesso', + 'revoking_a_device_is_permanent' => 'Revogar um dispositivo é permanente', + 'recover_account_instructions' => 'Para recuperar sua conta, o 2FAuth redefine algumas configurações de Webauthn para que possa entrar usando seu e-mail e senha.', + 'invalid_recovery_token' => 'Token de recuperação inválido', + 'webauthn_login_disabled' => 'Login via Webauthn desativado', + 'invalid_reset_token' => 'Esse token de redefinição é válido.', + 'rename_device' => 'Renomear dispositivo', + 'my_device' => 'Meu dispositivo', + 'unknown_device' => 'Dispositivo desconhecido', 'use_webauthn_only' => [ - 'label' => 'Use WebAuthn only', - 'help' => 'Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

- In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

- Attention! The Email & Password form remains available despite this option being enabled, but it will always return an \'Authentication failed\' response.' + 'label' => 'Usar somente o WebAuthn', + 'help' => 'Faça do WebAuthn o único método autorizado para entrar em sua conta 2FAuth. Essa é a configuração recomendada para aproveitar a segurança reforçada da WebAuthn.

+ no caso de dispositivo perdido, você poderá recuperar sua conta redefinindo esta opção e entrando usando seu e-mail e senha.

+ Atenção! O formulário de e-mail e senha permanece disponível apesar de esta opção estar ativada, mas ele sempre retornará uma resposta \'Autenticação falhou\'.' ], - 'need_a_security_device_to_enable_options' => 'Set at least one device to enable the following options', - 'options' => 'Options', + 'need_a_security_device_to_enable_options' => 'Defina pelo menos um dispositivo para ativar as seguintes opções', + 'options' => 'Opções', ], 'forms' => [ - 'name' => 'Name', - 'login' => 'Login', - 'webauthn_login' => 'WebAuthn login', - 'email' => 'Email', - 'password' => 'Password', - 'reveal_password' => 'Reveal password', - 'hide_password' => 'Hide password', - 'confirm_password' => 'Confirm password', - 'new_password' => 'New password', - 'confirm_new_password' => 'Confirm new password', - 'dont_have_account_yet' => 'Don\'t have your account yet?', - 'already_register' => 'Already registered?', - 'authentication_failed' => 'Authentication failed', - 'forgot_your_password' => 'Forgot your password?', - 'request_password_reset' => 'Reset it', - 'reset_your_password' => 'Reset your password', - 'reset_password' => 'Reset password', - 'disabled_in_demo' => 'Feature disabled in Demo mode', - 'new_password' => 'New password', + 'name' => 'Nome', + 'login' => 'Entrar', + 'webauthn_login' => 'Entrar com WebAuthn', + 'sso_login' => 'SSO login', + 'email' => 'E-mail', + 'password' => 'Senha', + 'reveal_password' => 'Mostrar senha', + 'hide_password' => 'Ocultar Senha', + 'confirm_password' => 'Confirmar senha', + 'new_password' => 'Nova senha', + 'confirm_new_password' => 'Confirmar nova senha', + 'dont_have_account_yet' => 'Ainda não tem uma conta?', + 'already_register' => 'Já possui cadastro?', + 'authentication_failed' => 'Falha na autenticação', + 'forgot_your_password' => 'Esqueceu sua senha?', + 'request_password_reset' => 'Redefinir', + 'reset_your_password' => 'Redefinir sua senha', + 'reset_password' => 'Redefinir senha', + 'disabled_in_demo' => 'Recurso desativado no modo Demonstração', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', + 'new_password' => 'Nova senha', 'current_password' => [ - 'label' => 'Current password', - 'help' => 'Fill in your current password to confirm that it\'s you' + 'label' => 'Senha atual', + 'help' => 'Preencha com sua senha atual para confirmar que é você' ], - 'change_password' => 'Change password', - 'send_password_reset_link' => 'Send password reset link', - 'password_successfully_reset' => 'Password successfully reset', - 'edit_account' => 'Edit account', - 'profile_saved' => 'Profile successfully updated!', - 'welcome_to_demo_app_use_those_credentials' => 'Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo', - 'welcome_to_testing_app_use_those_credentials' => 'Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password', - 'register_punchline' => 'Welcome to 2FAuth.
You need an account to go further, please register yourself.', - 'reset_punchline' => '2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.', - 'name_this_device' => 'Name this device', - 'delete_account' => 'Delete account', - 'delete_your_account' => 'Delete your account', - 'delete_your_account_and_reset_all_data' => 'Your user account will be deleted as well as all your 2FA data. There is no going back.', - 'reset_your_password_to_delete_your_account' => 'If you always used SSO to sign in, sign out then use the reset password feature to get a password so you can fill this form.', - 'deleting_2fauth_account_does_not_impact_provider' => 'Deleting your 2FAuth account has no impact on your external SSO account.', - 'user_account_successfully_deleted' => 'User account successfully deleted', - 'has_lower_case' => 'Has lower case', - 'has_upper_case' => 'Has upper case', - 'has_special_char' => 'Has special char', - 'has_number' => 'Has number', - 'is_long_enough' => '8 characters min.', - 'mandatory_rules' => 'Mandatory', - 'optional_rules_you_should_follow' => 'Recommanded (highly)', - 'caps_lock_is_on' => 'Caps lock is On', + 'change_password' => 'Alterar senha', + 'send_password_reset_link' => 'Enviar link para redefinir senha', + 'password_successfully_reset' => 'Senha redefinida com sucesso', + 'edit_account' => 'Editar conta', + 'profile_saved' => 'Perfil atualizado com sucesso!', + 'welcome_to_demo_app_use_those_credentials' => 'Bem-vindo(a) à demonstração 2FAuth.

Você pode entrar utilizando o endereço de e-mail demo@2fauth.app e a senha demo', + 'welcome_to_testing_app_use_those_credentials' => 'Bem-vindo(a) à instância de teste 2FAuth.

Use o endereço de e-mail testing@2fauth.app e senha password', + 'register_punchline' => 'Bem-vindo(a) ao 2FAuth.
Você precisa de uma conta para ir mais longe, por favor, cadastre-se.', + 'reset_punchline' => '2FAuth enviará um link de redefinição de senha para este endereço. Clique no link no e-mail recebido para definir uma nova senha.', + 'name_this_device' => 'Nomear esse dispositivo', + 'delete_account' => 'Excluir conta', + 'delete_your_account' => 'Excluir sua conta', + 'delete_your_account_and_reset_all_data' => 'Sua conta de usuário será excluída, assim como todos os seus dados de 2FA. Não há volta.', + 'reset_your_password_to_delete_your_account' => 'Se você sempre usou o SSO para entrar, saia e use o recurso de redefinição. Ao receber uma senha, preencher esse formulário.', + 'deleting_2fauth_account_does_not_impact_provider' => 'Excluir a sua conta 2FAuth não tem impacto na sua conta SSO externa.', + 'user_account_successfully_deleted' => 'Conta excluída com sucesso', + 'has_lower_case' => 'Tem minúsculas', + 'has_upper_case' => 'Tem maiúsculas', + 'has_special_char' => 'Tem caractere especial', + 'has_number' => 'Tem número', + 'is_long_enough' => 'Mínimo 8 caracteres', + 'mandatory_rules' => 'Obrigatório', + 'optional_rules_you_should_follow' => 'Recomendação (alta)', + 'caps_lock_is_on' => 'Caps Lock está ativado', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/pt/commons.php b/resources/lang/pt/commons.php index 7d322bb3..f5ac3838 100644 --- a/resources/lang/pt/commons.php +++ b/resources/lang/pt/commons.php @@ -17,7 +17,7 @@ 'update' => 'Atualizar', 'copy' => 'Copiar', 'copy_to_clipboard' => 'Copiar para área de transferência', - 'copied_to_clipboard' => 'Copiado para área de transferência', + 'copied_to_clipboard' => 'Copiado para a área de transferência', 'profile' => 'Perfil', 'edit' => 'Editar', 'delete' => 'Excluir', diff --git a/resources/lang/pt/errors.php b/resources/lang/pt/errors.php index c1782fc4..45f9e63c 100644 --- a/resources/lang/pt/errors.php +++ b/resources/lang/pt/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => 'O domínio de 2FAuth não é um domínio válido', 'user_id_not_between_1_64' => 'O ID do usuário não estava entre 1 e 64 caracteres', 'no_entry_was_of_type_public_key' => 'Nenhuma entrada é do tipo "chave pública"', - 'unsupported_with_reverseproxy' => 'Não aplicável quando usando um proxy autenticado', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'A exclusão da conta do usuário falhou, nenhum dado foi excluído', 'auth_proxy_failed' => 'Falha na autenticação do proxy', 'auth_proxy_failed_legend' => '2Fauth está configurado para ser executado atrás de um proxy autenticado, mas seu proxy não retorna o cabeçalho esperado. Verifique sua configuração e tente novamente.', diff --git a/resources/lang/pt/languages.php b/resources/lang/pt/languages.php index c32d10fb..a0c54a82 100644 --- a/resources/lang/pt/languages.php +++ b/resources/lang/pt/languages.php @@ -10,7 +10,7 @@ | */ - 'browser_preference' => 'Preferência do navegador', + 'browser_preference' => 'Padrão do navegador', 'en' => 'English (Inglês)', 'fr' => 'Français (Francês)', 'de' => 'Deutsch (Alemão)', @@ -20,5 +20,5 @@ 'bg' => 'Български (Búlgaro)', 'ja' => '日本語 (Japonês)', 'hi' => 'हिंदी (Indiano)', - 'tr' => 'Türkçe (Turkish)', + 'tr' => 'Türkçe (Turco)', ]; \ No newline at end of file diff --git a/resources/lang/pt/settings.php b/resources/lang/pt/settings.php index 82470cdf..a2e6050a 100644 --- a/resources/lang/pt/settings.php +++ b/resources/lang/pt/settings.php @@ -67,19 +67,19 @@ ], 'close_otp_on_copy' => [ 'label' => 'Fechar OTP após copiar', - 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + 'help' => 'Clicar para copiar uma senha gerada a ocultará automaticamente da tela' ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', - 'help' => 'Automatically hide on-screen password after a timeout. This avoids unnecessary requests for fresh passwords if you forget to close the password view.' + 'label' => 'Fechar automaticamente OTP', + 'help' => 'Ocultar automaticamente a senha na tela após um tempo limite. Isso evita solicitações desnecessárias de novas senhas se você esquecer de fechar a tela de senha.' ], 'clear_search_on_copy' => [ 'label' => 'Limpar pesquisa ao copiar', 'help' => 'Limpar a caixa de pesquisa logo após um código ser copiado para a área de transferência' ], 'sort_case_sensitive' => [ - 'label' => 'Sort case sensitive', - 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + 'label' => 'Ordenar com distinção entre maiúsculas e minúsculas', + 'help' => 'Quando acionado, forçar a função Ordenar a organizar as contas de forma que diferencie entre maiúsculas e minúsculas' ], 'copy_otp_on_display' => [ 'label' => 'Copiar OTP na tela', @@ -133,8 +133,8 @@ 'help' => 'Sempre retornar ao grupo padrão quando um OTP for copiado', ], 'auto_save_qrcoded_account' => [ - 'label' => 'Auto-save accounts', - 'help' => 'New accounts are automatically registered after scanning or uploading a QR code, no need to click a Save button', + 'label' => 'Salvar contas automaticamente', + 'help' => 'Novas contas são registradas automaticamente após a verificação ou envio de um código QR, não é necessário clicar num botão Salvar', ], 'useDirectCapture' => [ 'label' => 'Entrada direta', @@ -169,7 +169,7 @@ 'never' => 'Nunca', 'on_otp_copy' => 'Quando copiar código de segurança', '1_minutes' => 'Após 1 minuto', - '2_minutes' => 'After 2 minutes', + '2_minutes' => 'Após 2 minutos', '5_minutes' => 'Após 5 minutos', '10_minutes' => 'Após 10 minutos', '15_minutes' => 'Após 15 minutos', diff --git a/resources/lang/pt/titles.php b/resources/lang/pt/titles.php index 2b60bb7d..fddc6ba7 100644 --- a/resources/lang/pt/titles.php +++ b/resources/lang/pt/titles.php @@ -10,7 +10,7 @@ */ 'start' => 'Nova conta', - 'capture' => 'Escanear QR code', + 'capture' => 'Ler código QR', 'accounts' => 'Contas', 'createAccount' => 'Criar conta', 'importAccounts' => 'Importar contas', diff --git a/resources/lang/pt/twofaccounts.php b/resources/lang/pt/twofaccounts.php index 04673914..e5700f2a 100644 --- a/resources/lang/pt/twofaccounts.php +++ b/resources/lang/pt/twofaccounts.php @@ -13,158 +13,162 @@ | */ - 'service' => 'Service', - 'account' => 'Account', - 'icon' => 'Icon', - 'icon_to_illustrate_the_account' => 'Icon that illustrates the account', - 'remove_icon' => 'Remove icon', - 'no_account_here' => 'No 2FA here!', - 'add_first_account' => 'Pick a method and add your first account', - 'use_full_form' => 'Or use the full form', - 'add_one' => 'Add one', - 'show_qrcode' => 'Show QR code', - 'no_service' => '- no service -', - 'account_created' => 'Account successfully created', - 'account_updated' => 'Account successfully updated', - 'accounts_deleted' => 'Account(s) successfully deleted', - 'accounts_moved' => 'Account(s) successfully moved', - 'export_selected_to_json' => 'Download a json export of selected accounts', - 'reveal' => 'reveal', + 'service' => 'Serviço', + 'account' => 'Conta', + 'icon' => 'Ícone', + 'icon_to_illustrate_the_account' => 'Ícone que ilustra a conta', + 'remove_icon' => 'Excluir ícone', + 'no_account_here' => 'Sem 2FA aqui!', + 'add_first_account' => 'Escolha um método e adicione sua primeira conta', + 'use_full_form' => 'Ou utilize o formulário completo', + 'add_one' => 'Adicione um', + 'show_qrcode' => 'Mostrar QR Code', + 'no_service' => '- sem serviço -', + 'account_created' => 'Conta criada com sucesso!', + 'account_updated' => 'Conta atualizada com sucesso', + 'accounts_deleted' => 'Conta(s) excluídas com êxito', + 'accounts_moved' => 'Conta(s) movidas com sucesso', + 'export_selected_to_json' => 'Baixar uma exportação em json das contas selecionadas', + 'reveal' => 'revelar', 'forms' => [ 'service' => [ 'placeholder' => 'Google, Twitter, Apple', ], 'account' => [ - 'placeholder' => 'John DOE', + 'placeholder' => 'João da Silva', ], - 'new_account' => 'New account', - 'edit_account' => 'Edit account', + 'new_account' => 'Nova conta', + 'edit_account' => 'Editar conta', 'otp_uri' => 'OTP Uri', - 'scan_qrcode' => 'Scan a QR code', - 'upload_qrcode' => 'Upload a QR code', - 'use_advanced_form' => 'Use the advanced form', - 'prefill_using_qrcode' => 'Prefill using a QR Code', + 'scan_qrcode' => 'Escanear QR code', + 'upload_qrcode' => 'Enviar um código QR', + 'use_advanced_form' => 'Use o formulário avançado', + 'prefill_using_qrcode' => 'Prepreencha usando um código QR', 'use_qrcode' => [ - 'val' => 'Use a qrcode', - 'title' => 'Use a QR code to fill the form magically', + 'val' => 'Use um código QR', + 'title' => 'Use um código QR para preencher o formulário magicamente', ], 'unlock' => [ - 'val' => 'Unlock', - 'title' => 'Unlock it (at your own risk)', + 'val' => 'Desbloquear', + 'title' => 'Desbloqueie (por sua conta e risco)', ], 'lock' => [ - 'val' => 'Lock', - 'title' => 'Lock it', + 'val' => 'Bloquear', + 'title' => 'Bloquear', + ], + 'choose_image' => 'Enviar', + 'i_m_lucky' => 'Tente a minha sorte', + 'i_m_lucky_legend' => 'O botão "Tente a minha sorte" tenta obter o ícone oficial do serviço fornecido. Digite o nome do serviço atual sem a extensão ".xyz" e tente evitar erros de digitação. (recurso beta)', + 'test' => 'Testar', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' ], - 'choose_image' => 'Upload', - 'i_m_lucky' => 'Try my luck', - 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', - 'test' => 'Test', 'secret' => [ - 'label' => 'Secret', - 'help' => 'The key used to generate your security codes' + 'label' => 'Chave', + 'help' => 'A chave usada para gerar os seus códigos de segurança' ], - 'plain_text' => 'Plain text', + 'plain_text' => 'Texto sem formatação', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', - 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' + 'label' => 'Escolha o tipo de OTP para criar', + 'help' => 'OTP baseado no tempo ou HMAC baseado em OTP ou OTP Steam' ], 'digits' => [ - 'label' => 'Digits', - 'help' => 'The number of digits of the generated security codes' + 'label' => 'Dígitos', + 'help' => 'O número de dígitos dos códigos de segurança gerados' ], 'algorithm' => [ - 'label' => 'Algorithm', - 'help' => 'The algorithm used to secure your security codes' + 'label' => 'Algoritmo', + 'help' => 'O algoritmo usado para proteger seus códigos de segurança' ], 'period' => [ - 'label' => 'Period', - 'placeholder' => 'Default is 30', - 'help' => 'The period of validity of the generated security codes in second' + 'label' => 'Validade', + 'placeholder' => 'O padrão é 30', + 'help' => 'O período de validade dos códigos de segurança gerados no segundo' ], 'counter' => [ - 'label' => 'Counter', - 'placeholder' => 'Default is 0', - 'help' => 'The initial counter value', - 'help_lock' => 'It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing' + 'label' => 'Contador', + 'placeholder' => 'O padrão é 0.', + 'help' => 'O valor inicial do contador', + 'help_lock' => 'É arriscado editar o contador, pois você pode dessincronizar a conta com o servidor de verificação do serviço. Use o ícone de bloqueio para ativar a modificação, mas apenas se você sabe que está fazendo' ], 'image' => [ - 'label' => 'Image', + 'label' => '', 'placeholder' => 'http://...', - 'help' => 'The url of an external image to use as the account icon' + 'help' => 'A URL de uma imagem externa para usar como ícone de conta' ], - 'options_help' => 'You can leave the following options blank if you don\'t know how to set them. The most commonly used values will be applied.', - 'alternative_methods' => 'Alternative methods', - 'spaces_are_ignored' => 'Unwanted spaces will be automatically removed' + 'options_help' => 'Você pode deixar as seguintes opções em branco se você não sabe como configurá-los. Os valores mais usados serão aplicados.', + 'alternative_methods' => 'Métodos alternativos', + 'spaces_are_ignored' => 'Espaços indesejados serão removidos automaticamente' ], 'stream' => [ - 'live_scan_cant_start' => 'Live scan can\'t start :(', + 'live_scan_cant_start' => 'Verificação ao vivo não pode iniciar :(', 'need_grant_permission' => [ - 'reason' => '2FAuth does not have permission to access your camera', - 'solution' => 'You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission.', - 'click_camera_icon' => 'It is usually done by clicking on a slashed camera icon in or next to the browser\'s address bar', + 'reason' => 'O 2FAuth não tem permissão para acessar sua câmera', + 'solution' => 'Você precisa conceder permissão para usar a câmera do seu dispositivo. Se você já negou e o seu navegador não solicita novamente, consulte a documentação do navegador para descobrir como conceder a permissão.', + 'click_camera_icon' => 'É geralmente feito clicando no ícone da câmera na barra de endereços do navegador ou ao lado da barra de endereços', ], 'not_readable' => [ - 'reason' => 'Fail to load scanner', - 'solution' => 'Is the camera already in use? Ensure that no other app use your camera and try again' + 'reason' => 'Falha ao carregar o scanner', + 'solution' => 'A câmera já está em uso? Certifique-se de que nenhum outro app usa a câmera e tente novamente' ], 'no_cam_on_device' => [ - 'reason' => 'No camera on this device', - 'solution' => 'Maybe you forgot to plug in your webcam' + 'reason' => 'Nenhuma câmera neste dispositivo', + 'solution' => 'Talvez você tenha se esquecido de conectar sua câmera.' ], 'secured_context_required' => [ - 'reason' => 'Secure context required', - 'solution' => 'HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost' + 'reason' => 'Contexto HTTPS requerido', + 'solution' => 'HTTPS é necessário para varredura ao vivo. Se você executar 2FAuth a partir do seu computador, não use outro host virtual além do localhost' ], - 'https_required' => 'HTTPS required for camera streaming', + 'https_required' => 'HTTPS necessário para streaming de câmera', 'camera_not_suitable' => [ - 'reason' => 'Installed cameras are not suitable', - 'solution' => 'Please use another device/camera' + 'reason' => 'Câmeras instaladas não são adequadas', + 'solution' => 'Por favor, use outro dispositivo/câmera' ], 'stream_api_not_supported' => [ - 'reason' => 'Stream API is not supported in this browser', - 'solution' => 'You should use a modern browser' + 'reason' => 'Stream API não é suportada neste navegador', + 'solution' => 'Você deve usar um navegador moderno' ], ], 'confirm' => [ - 'delete' => 'Are you sure you want to delete this account?', - 'cancel' => 'Changes will be lost. Are you sure?', - 'discard' => 'Are you sure you want to discard this account?', - 'discard_all' => 'Are you sure you want to discard all accounts?', - 'discard_duplicates' => 'Are you sure you want to discard all duplicates?', + 'delete' => 'Tem certeza de que quer apagar esta conta?', + 'cancel' => 'As alterações serão perdidas. Tem certeza?', + 'discard' => 'Tem certeza que deseja excluir sua conta?', + 'discard_all' => 'Tem certeza de que deseja excluir todas as contas?', + 'discard_duplicates' => 'Você tem certeza que deseja excluir todas as duplicatas?', ], 'import' => [ - 'import' => 'Import', - 'to_import' => 'Import', - 'import_legend' => '2FAuth can import data from various 2FA apps.', - 'import_legend_afterpart' => 'Use the Export feature of these apps to get a migration resource like a QR code or a JSON file then load it here.', - 'upload' => 'Upload', - 'scan' => 'Scan', - 'supported_formats_for_qrcode_upload' => 'Accepted: jpg, jpeg, png, bmp, gif, svg, or webp', - 'supported_formats_for_file_upload' => 'Accepted: Plain text, json, 2fas', - 'expected_format_for_direct_input' => 'Expected: A list of otpauth URI, one by line', - 'supported_migration_formats' => 'Supported migration formats', - 'qr_code' => 'QR Code', - 'text_file' => 'Text file', - 'direct_input' => 'Direct input', - 'plain_text' => 'Plain text', - 'parsing_data' => 'Parsing data...', - 'issuer' => 'Issuer', - 'imported' => 'Imported', - 'failure' => 'Failure', - 'x_valid_accounts_found' => ':count valid accounts found', - 'submitted_data_parsed_now_accounts_are_awaiting_import' => 'The following 2FA accounts were found in the migration resource. So far none of them have been added to 2FAuth.', - 'use_buttons_to_save_or_discard' => 'Use the available buttons to permanently save them to your 2FA collection or discard them.', - 'import_all' => 'Import all', - 'import_this_account' => 'Import this account', - 'discard_all' => 'Discard all', - 'discard_duplicates' => 'Discard duplicates', - 'discard_this_account' => 'Discard this account', - 'generate_a_test_password' => 'Generate a test pasword', - 'possible_duplicate' => 'An account with the exact same data already exists', - 'invalid_account' => '- invalid account -', - 'invalid_service' => '- invalid service -', - 'do_not_set_password_or_encryption' => 'Do NOT enable Password protection or Encryption when you export data from a 2FA app otherwise 2FAuth will not be able to decipher them.', + 'import' => 'Importar', + 'to_import' => 'Importar', + 'import_legend' => '2FAuth pode importar dados de vários aplicativos 2FA.', + 'import_legend_afterpart' => 'Use o recurso de exportação destes aplicativos para obter um recurso de migração como um código QR ou um arquivo JSON, então carregue-o aqui.', + 'upload' => 'Carregar', + 'scan' => 'Ler', + 'supported_formats_for_qrcode_upload' => 'Aceito: jpg, jpeg, png, bmp, gif, svg ou webp', + 'supported_formats_for_file_upload' => 'Aceito: Texto simples, json, 2fas', + 'expected_format_for_direct_input' => 'Esperado: Uma lista de otpauth URI, uma por linha', + 'supported_migration_formats' => 'Formatos de migração suportados', + 'qr_code' => 'Código QR', + 'text_file' => 'Arquivo de texto', + 'direct_input' => 'Entrada direta', + 'plain_text' => 'Texto sem formatação', + 'parsing_data' => 'Processando dados...', + 'issuer' => 'Emissor', + 'imported' => 'Importado', + 'failure' => 'Falha', + 'x_valid_accounts_found' => 'Encontradas :count contas válidas', + 'submitted_data_parsed_now_accounts_are_awaiting_import' => 'As seguintes contas 2FA foram encontradas no recurso de migração. Até agora, nenhuma delas foi adicionada ao 2FAuth.', + 'use_buttons_to_save_or_discard' => 'Use os botões disponíveis para salvá-los permanentemente em sua coleção de 2FA ou descartá-los.', + 'import_all' => 'Importar todos', + 'import_this_account' => 'Importar esta conta', + 'discard_all' => 'Descartar tudo', + 'discard_duplicates' => 'Descartar duplicatas', + 'discard_this_account' => 'Descartar esta conta', + 'generate_a_test_password' => 'Gerar senha de teste', + 'possible_duplicate' => 'Uma conta com os mesmos dados já existe', + 'invalid_account' => '- conta inválida -', + 'invalid_service' => '- serviço inválido -', + 'do_not_set_password_or_encryption' => 'Não habilite a proteção de senha ou criptografia quando você exportar dados de um aplicativo 2FA caso contrário, 2FAuth não será capaz de decifrá-los.', ], ]; \ No newline at end of file diff --git a/resources/lang/pt/validation.php b/resources/lang/pt/validation.php index b49f6f93..82c5476e 100644 --- a/resources/lang/pt/validation.php +++ b/resources/lang/pt/validation.php @@ -13,24 +13,24 @@ | */ - 'accepted' => 'The :attribute must be accepted.', - 'accepted_if' => 'The :attribute must be accepted when :other is :value.', - 'active_url' => 'The :attribute is not a valid URL.', - 'after' => 'The :attribute must be a date after :date.', - 'after_or_equal' => 'The :attribute must be a date after or equal to :date.', - 'alpha' => 'The :attribute must only contain letters.', - 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.', - 'alpha_num' => 'The :attribute must only contain letters and numbers.', - 'array' => 'The :attribute must be an array.', - 'before' => 'The :attribute must be a date before :date.', - 'before_or_equal' => 'The :attribute must be a date before or equal to :date.', + 'accepted' => 'O campo :attribute deve ser aceito.', + 'accepted_if' => 'O :attribute deve ser aceito quando :other for :value.', + 'active_url' => 'O :attribute não é um URL válida.', + 'after' => 'A :attribute deve ser uma data posterior a :date.', + 'after_or_equal' => 'O :attribute deve ser uma data posterior ou igual a :date.', + 'alpha' => 'O :attribute deve conter apenas letras.', + 'alpha_dash' => 'O :attribute deve conter apenas letras, números, traços e sublinhados.', + 'alpha_num' => 'O :attribute deve conter apenas letras e números.', + 'array' => 'O :attribute deve ser uma matriz.', + 'before' => 'O :attribute deve ser inferior a :date.', + 'before_or_equal' => 'O :attribute deve ser uma data anterior ou igual a :date.', 'between' => [ - 'array' => 'The :attribute must have between :min and :max items.', - 'file' => 'The :attribute must be between :min and :max kilobytes.', - 'numeric' => 'The :attribute must be between :min and :max.', - 'string' => 'The :attribute must be between :min and :max characters.', + 'array' => 'O :attribute deve ter entre :min e :max itens.', + 'file' => 'O :attribute deve ter entre :min e :max kilobytes.', + 'numeric' => 'O :attribute deve estar entre :min e :max.', + 'string' => 'O :attribute deve ter entre :min e :max caracteres.', ], - 'boolean' => 'The :attribute field must be true or false.', + 'boolean' => 'O campo ":attribute" deve ser verdadeiro ou falso.', 'confirmed' => 'The :attribute confirmation does not match.', 'current_password' => 'The password is incorrect.', 'date' => 'The :attribute is not a valid date.', @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/ro/admin.php b/resources/lang/ro/admin.php index de367739..6a417e67 100644 --- a/resources/lang/ro/admin.php +++ b/resources/lang/ro/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/ro/auth.php b/resources/lang/ro/auth.php index 7334b79a..2c80d4a2 100644 --- a/resources/lang/ro/auth.php +++ b/resources/lang/ro/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Sign out', 'sign_in' => 'Sign in', 'sign_in_using' => 'Sign in using', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Sign in using a security device', 'login_and_password' => 'login & password', 'register' => 'Register', @@ -34,6 +41,7 @@ 'maybe_later' => 'Maybe later', 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', 'auth_handled_by_proxy' => 'Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Are you sure you want to log out?', 'revoke_device' => 'Are you sure you want to revoke this device?', @@ -79,6 +87,7 @@ 'name' => 'Name', 'login' => 'Login', 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', 'email' => 'Email', 'password' => 'Password', 'reveal_password' => 'Reveal password', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Reset your password', 'reset_password' => 'Reset password', 'disabled_in_demo' => 'Feature disabled in Demo mode', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'Current password', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Recommanded (highly)', 'caps_lock_is_on' => 'Caps lock is On', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/ro/errors.php b/resources/lang/ro/errors.php index f959785b..5e067027 100644 --- a/resources/lang/ro/errors.php +++ b/resources/lang/ro/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', 'auth_proxy_failed' => 'Proxy authentication failed', 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', diff --git a/resources/lang/ro/twofaccounts.php b/resources/lang/ro/twofaccounts.php index 04673914..92ddb567 100644 --- a/resources/lang/ro/twofaccounts.php +++ b/resources/lang/ro/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Try my luck', 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', 'test' => 'Test', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Secret', 'help' => 'The key used to generate your security codes' diff --git a/resources/lang/ro/validation.php b/resources/lang/ro/validation.php index b49f6f93..c86ec16f 100644 --- a/resources/lang/ro/validation.php +++ b/resources/lang/ro/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/ru/admin.php b/resources/lang/ru/admin.php index b7cb2daa..940e3e49 100644 --- a/resources/lang/ru/admin.php +++ b/resources/lang/ru/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Администратор', 'app_setup' => 'Настройки приложения', + 'auth' => 'Auth', 'registrations' => 'Регистрации', 'users' => 'Пользователи', 'users_legend' => 'Управление пользователями, зарегистрированными на вашем экземпляре приложения или создание новых.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Показать записи за последний год', 'sort_by_date_asc' => 'Показать сначала первые', 'sort_by_date_desc' => 'Показать сначала последние', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Защитить конфиденциальные данные', @@ -105,9 +107,13 @@ 'help' => 'Запретить регистрацию новых пользователей. Если не переопределено (см. ниже), это также влияет на SSO, так что новые пользователи не смогут войти через SSO', ], 'enable_sso' => [ - 'label' => 'Включить Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Разрешить посетителям аутентифицироваться с использованием внешнего ID через схему Single Sign-On', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Сохранить SSO регистрацию включенной', 'help' => 'Разрешить новым пользователям входить в систему впервые через SSO, пока регистрация отключена', diff --git a/resources/lang/ru/auth.php b/resources/lang/ru/auth.php index da9596c6..8a8f5b97 100644 --- a/resources/lang/ru/auth.php +++ b/resources/lang/ru/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Выйти', 'sign_in' => 'Войти', 'sign_in_using' => 'Войти с помощью', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'Также вы можете продолжить с:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Войти, используя устройство безопасности', 'login_and_password' => 'имени пользователя и пароля', 'register' => 'Регистрация', @@ -34,6 +41,7 @@ 'maybe_later' => 'Не сейчас', 'user_account_controlled_by_proxy' => 'Учётная запись создана через прокси-аунтификацию.
Управляйте учётной записью на уровне прокси.', 'auth_handled_by_proxy' => 'Аутентификация осуществляется на обратном прокси, настройки ниже не доступны.
Управление аутентификацией осуществляется на прокси.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Вы уверены, что хотите выйти?', 'revoke_device' => 'Вы уверены, что хотите удалить это устройство?', @@ -79,6 +87,7 @@ 'name' => 'Имя', 'login' => 'Вход', 'webauthn_login' => 'WebAuthn вход', + 'sso_login' => 'SSO login', 'email' => 'Email', 'password' => 'Пароль', 'reveal_password' => 'Показать пароль', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Восстановить пароль', 'reset_password' => 'Восстановить пароль', 'disabled_in_demo' => 'Функция отключена в демонастрационном режиме', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'Новый пароль', 'current_password' => [ 'label' => 'Текущий пароль', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Рекомендуется (настоятельно)', 'caps_lock_is_on' => 'Caps lock включен', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/ru/errors.php b/resources/lang/ru/errors.php index 61766f7c..2f9d9832 100644 --- a/resources/lang/ru/errors.php +++ b/resources/lang/ru/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => 'Домен 2FAuth не является допустимым доменом', 'user_id_not_between_1_64' => 'Идентификатор пользователя не был от 1 до 64 символов', 'no_entry_was_of_type_public_key' => 'Запись типа "Публичный ключ" не найдена', - 'unsupported_with_reverseproxy' => 'Не применимо при использовании прокси-аутентификации', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'Не удалось удалить учётную запись пользователя, данные не были удалены', 'auth_proxy_failed' => 'Прокси-аунтификация не удалась', 'auth_proxy_failed_legend' => '2Fauth настроен на работу за прокси-аутентификацией, но ваш прокси не возвращает ожидаемый заголовок. Проверьте настройки и повторите попытку.', diff --git a/resources/lang/ru/settings.php b/resources/lang/ru/settings.php index 86a43a8e..c7735df6 100644 --- a/resources/lang/ru/settings.php +++ b/resources/lang/ru/settings.php @@ -153,11 +153,11 @@ 'help' => 'Установка того, как и когда отображаются OTP .
', ], 'notify_on_new_auth_device' => [ - 'label' => 'При входе с нового устройства', - 'help' => 'Получать email при первом подключении нового устройства к вашей учётной записи 2FAuth' + 'label' => 'С нового устройства', + 'help' => 'Получать email, когда новое устройства подключается к вашей учётной записи 2FAuth' ], 'notify_on_failed_login' => [ - 'label' => 'При неудачной попытке входа', + 'label' => 'При неудачном входе', 'help' => 'Получать email при каждой неудачной попытке войти в вашу учётную запись 2FAuth' ], 'otp_generation_on_request' => 'После щелчка/касания', diff --git a/resources/lang/ru/twofaccounts.php b/resources/lang/ru/twofaccounts.php index d4429310..61f18c49 100644 --- a/resources/lang/ru/twofaccounts.php +++ b/resources/lang/ru/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Мне повезёт!', 'i_m_lucky_legend' => 'Кнопка "Мне повезёт!" попытается получить официальную иконку данной службы. Введите фактическое имя службы без расширения ".xyz" и попытайтесь избежать опечаток. (бета-функция)', 'test' => 'Проверка', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Секрет', 'help' => 'Ключ, используемый для генерации кодов безопасности' diff --git a/resources/lang/ru/validation.php b/resources/lang/ru/validation.php index 02a9f05d..f7387ec8 100644 --- a/resources/lang/ru/validation.php +++ b/resources/lang/ru/validation.php @@ -143,6 +143,7 @@ 'single' => 'При использовании :attribute - это должен быть единственный параметр в теле этого запроса', 'onlyCustomOtpWithUri' => 'Параметр uri должен быть указан один или в сочетании с параметром \'custom_otp\'', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'Идентификаторы должны быть разделены запятыми. Запятая в конце не ставится.', - ] + ], ], /* diff --git a/resources/lang/si/admin.php b/resources/lang/si/admin.php index 762175ec..ef68a501 100644 --- a/resources/lang/si/admin.php +++ b/resources/lang/si/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Admin', 'app_setup' => 'App setup', + 'auth' => 'Auth', 'registrations' => 'Registrations', 'users' => 'Users', 'users_legend' => 'Manage users registered on your instance or create new ones.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Show entries from the last year', 'sort_by_date_asc' => 'Show least recent first', 'sort_by_date_desc' => 'Show most recent first', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Protect sensitive data', @@ -105,9 +107,13 @@ 'help' => 'Prevent new user registration. Unless overridden (see below), this affects SSO as well, so new users won\'t be able to sign in via SSO', ], 'enable_sso' => [ - 'label' => 'Enable Single Sign-On (SSO)', + 'label' => 'Enable SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'Keep SSO registration enabled', 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', diff --git a/resources/lang/si/auth.php b/resources/lang/si/auth.php index 7200b698..a6390fb1 100644 --- a/resources/lang/si/auth.php +++ b/resources/lang/si/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'වරන්න', 'sign_in' => 'පුරන්න', 'sign_in_using' => 'Sign in using', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'You can also continue with:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Sign in using a security device', 'login_and_password' => 'login & password', 'register' => 'ලියාපදිංචි වන්න', @@ -34,6 +41,7 @@ 'maybe_later' => 'Maybe later', 'user_account_controlled_by_proxy' => 'User account made available by an authentication proxy.
Manage the account at proxy level.', 'auth_handled_by_proxy' => 'Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Are you sure you want to log out?', 'revoke_device' => 'Are you sure you want to revoke this device?', @@ -79,6 +87,7 @@ 'name' => 'නම', 'login' => 'පිවිසෙන්න', 'webauthn_login' => 'WebAuthn login', + 'sso_login' => 'SSO login', 'email' => 'විද්‍යුත් තැපෑල', 'password' => 'මුර පදය', 'reveal_password' => 'Reveal password', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Reset your password', 'reset_password' => 'මුරපදය නැවත සකසන්න', 'disabled_in_demo' => 'Feature disabled in Demo mode', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'New password', 'current_password' => [ 'label' => 'වත්මන් මුරපදය', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Recommanded (highly)', 'caps_lock_is_on' => 'Caps lock is On', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/si/errors.php b/resources/lang/si/errors.php index efe14f6a..3e6a7989 100644 --- a/resources/lang/si/errors.php +++ b/resources/lang/si/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'s domain is not a valid domain', 'user_id_not_between_1_64' => 'User ID was not between 1 and 64 chars', 'no_entry_was_of_type_public_key' => 'No entry was of type "public-key"', - 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'User account deletion failed, no data have been deleted', 'auth_proxy_failed' => 'Proxy authentication failed', 'auth_proxy_failed_legend' => '2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.', diff --git a/resources/lang/si/twofaccounts.php b/resources/lang/si/twofaccounts.php index e567a243..115b81b4 100644 --- a/resources/lang/si/twofaccounts.php +++ b/resources/lang/si/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Try my luck', 'i_m_lucky_legend' => 'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)', 'test' => 'අත්හදා බලන්න', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'රහස', 'help' => 'The key used to generate your security codes' diff --git a/resources/lang/si/validation.php b/resources/lang/si/validation.php index 1ccd7eaf..5db4da36 100644 --- a/resources/lang/si/validation.php +++ b/resources/lang/si/validation.php @@ -143,6 +143,7 @@ 'single' => 'When using :attribute it must be the only parameter in this request body', 'onlyCustomOtpWithUri' => 'The uri parameter must be provided alone or only in combination with the \'custom_otp\' parameter', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDs must be comma separated, without trailing comma.', - ] + ], ], /* diff --git a/resources/lang/tr/admin.php b/resources/lang/tr/admin.php index 6e523644..ef78f3e9 100644 --- a/resources/lang/tr/admin.php +++ b/resources/lang/tr/admin.php @@ -15,6 +15,7 @@ 'admin' => 'Yönetici', 'app_setup' => 'Uygulama Kurulumu', + 'auth' => 'Auth', 'registrations' => 'Kayıt', 'users' => 'Kullanıcılar', 'users_legend' => 'Uygulamanızda kayıtlı kullanıcılar yönetin veya yeni kullanıcı oluşturun.', @@ -83,6 +84,7 @@ 'show_one_year_log' => 'Geçen yıldan girdiler göster', 'sort_by_date_asc' => 'Eskileri önce göster', 'sort_by_date_desc' => 'Yenileri önce göster', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => 'Hassas verileri koru', @@ -105,9 +107,13 @@ 'help' => 'Yeni kullanıcı kaydını kapatır. Geçersiz kılınmadığı sürece (aşağıya bakın), bu seçenek SSO\'yu da etkiler ve yeni kullanıcıların SSO ile girişini engeller', ], 'enable_sso' => [ - 'label' => 'Single Sign-On (SSO) etkileştir', + 'label' => 'Enable SSO', 'help' => 'Kullanıcıların Single Sign-On ile harici bir hesap üzerinden oturum açmasını sağlar', ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', + ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO ile kayıt olmayı açık tut', 'help' => 'Kayıt olma devre dışıyken yeni kullanıcıların SSO ile ilk kez oturum açmasına izin verir', diff --git a/resources/lang/tr/auth.php b/resources/lang/tr/auth.php index bc2f0716..7690a7b5 100644 --- a/resources/lang/tr/auth.php +++ b/resources/lang/tr/auth.php @@ -22,7 +22,14 @@ 'sign_out' => 'Çıkış', 'sign_in' => 'Oturum aç', 'sign_in_using' => 'Oturum açma yöntemi', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', 'or_continue_with' => 'Ayrıca şununla da devam edebilirsiniz:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => 'Güvenlik cihazı kullanarak oturum aç', 'login_and_password' => 'kullanıcı & şifre', 'register' => 'Kayıt', @@ -34,6 +41,7 @@ 'maybe_later' => 'Belki daha sonra', 'user_account_controlled_by_proxy' => 'Kimlik doğrulama proxy\'si tarafından kullanıma sunulan kullanıcı hesabı.
Hesabı proxy düzeyinde yönetin.', 'auth_handled_by_proxy' => 'Kimlik doğrulama ters proxy tarafından gerçekleştirilmiş, aşağıdaki ayarlar devre dışı.
Kimlik doğrulamayı proxy düzeyinde yönetin.', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ 'logout' => 'Çıkış yapmak istediğinizden emin misiniz?', 'revoke_device' => 'Bu cihazın yetkilerini iptal etmek istediğinizden emin misiniz?', @@ -79,6 +87,7 @@ 'name' => 'İsim', 'login' => 'Giriş', 'webauthn_login' => 'WebAuthn girişi', + 'sso_login' => 'SSO login', 'email' => 'ePosta', 'password' => 'Parola', 'reveal_password' => 'Parolayı göster', @@ -94,6 +103,7 @@ 'reset_your_password' => 'Parolanızı sıfırlayın', 'reset_password' => 'Parola sıfırlama', 'disabled_in_demo' => 'Bu özellik Demo modunda geçerli değil', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', 'new_password' => 'Yeni parola', 'current_password' => [ 'label' => 'Mevcut parola', @@ -124,5 +134,9 @@ 'optional_rules_you_should_follow' => 'Önerilen (şiddetle)', 'caps_lock_is_on' => 'Caps lock Açık', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/tr/errors.php b/resources/lang/tr/errors.php index 0dc7cbd2..79b06596 100644 --- a/resources/lang/tr/errors.php +++ b/resources/lang/tr/errors.php @@ -43,7 +43,8 @@ '2fauth_has_not_a_valid_domain' => '2FAuth\'un alan adı geçerli bir alan adı değil', 'user_id_not_between_1_64' => 'Kullanıcı ID\'si 1 ile 64 karakter arasında değildi', 'no_entry_was_of_type_public_key' => 'Hiçbir giriş "public-key" türünde değildi', - 'unsupported_with_reverseproxy' => 'Bir kimlik doğrulama proxy\'si kullanılırken uygulanamaz', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', 'user_deletion_failed' => 'Kullanıcı hesabı silme işlemi başarısız oldu, hiçbir veri silinmedi', 'auth_proxy_failed' => 'Proxy kimlik doğrulaması başarısız oldu', 'auth_proxy_failed_legend' => '2Fauth, bir kimlik doğrulama proxy\'si arkasında çalışacak şekilde yapılandırılmış, ancak proxy\'niz beklenen başlığı döndürmüyor. Yapılandırmanızı kontrol edin ve tekrar deneyin.', diff --git a/resources/lang/tr/twofaccounts.php b/resources/lang/tr/twofaccounts.php index 8e6ce4ff..25a90cc2 100644 --- a/resources/lang/tr/twofaccounts.php +++ b/resources/lang/tr/twofaccounts.php @@ -60,6 +60,10 @@ 'i_m_lucky' => 'Şansımı dene', 'i_m_lucky_legend' => '"Şansımı dene" butonu söz konusu servisin özgün simgesini almaya çalışır. Hizmetin gerçek adını ".xyz" uzantısı olmadan girin ve yazım hatalarından kaçınmaya çalışın. (beta özelliği)', 'test' => 'Deneme', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => 'Anahtar', 'help' => 'Güvenlik kodlarınızın oluşturulması için gereken anahtar' diff --git a/resources/lang/tr/validation.php b/resources/lang/tr/validation.php index f100647a..5616414a 100644 --- a/resources/lang/tr/validation.php +++ b/resources/lang/tr/validation.php @@ -143,6 +143,7 @@ 'single' => ':attribute kullanıldığında, istek gövdesindeki tek parametre bu olmalıdır', 'onlyCustomOtpWithUri' => 'Uri parametresi tek başına veya yalnızca \'custom_otp\' parametresiyle birlikte sağlanmalıdır', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -187,7 +188,7 @@ ], 'ids' => [ 'regex' => 'IDler virgül ile ayrılmalı, en sonda ise virgül olmamalıdır.', - ] + ], ], /* diff --git a/resources/lang/zh/admin.php b/resources/lang/zh/admin.php index 590b3631..d435c779 100644 --- a/resources/lang/zh/admin.php +++ b/resources/lang/zh/admin.php @@ -15,98 +15,104 @@ 'admin' => '管理员', 'app_setup' => '应用设置', + 'auth' => 'Auth', 'registrations' => '注册', 'users' => '用户', - 'users_legend' => '管理在您的实例上注册的用户或创建新的用户。', + 'users_legend' => '管理此实例上的已注册用户,或创建新的用户。', 'admin_settings' => '管理员设置', 'create_new_user' => '创建新用户', 'new_user' => '新用户', - 'search_user_placeholder' => '用户名,电子邮件...', - 'quick_filters_colons' => '快速筛选:', + 'search_user_placeholder' => '用户名、邮箱…', + 'quick_filters_colons' => '快速筛选:', 'user_created' => '用户创建成功', 'confirm' => [ - 'delete_user' => '您确定要删除这个用户吗?没有回头路。', + 'delete_user' => '您确定要删除此用户吗?此操作无法恢复。', 'request_password_reset' => '您确定要重置此用户的密码吗?', - 'purge_password_reset_request' => 'Are you sure you want to revoke the previous request?', - 'delete_account' => '您确定要删除该用户吗?', - 'edit_own_account' => '这是您自己的帐户。您确定吗?', - 'change_admin_role' => '这将会对此用户的权限产生重大影响。您确定吗?', - 'demote_own_account' => '您将不再是管理员。真的确定吗?' + 'purge_password_reset_request' => '您确定要撤销之前的请求吗?', + 'delete_account' => '您确定要删除此用户吗?', + 'edit_own_account' => '这是您自己的账户,确定要继续吗?', + 'change_admin_role' => '这将严重影响此用户的权限,确定要继续吗?', + 'demote_own_account' => '您将失去管理员权限,确定要继续吗?' ], 'logs' => '日志', - 'administration_legend' => '以下设置是全局设置,适用于所有用户。', + 'administration_legend' => '下列设置将在全局范围内生效,且影响所有用户。', 'user_management' => '用户管理', - 'oauth_provider' => 'OAuth 提供者', - 'account_bound_to_x_via_oauth' => '此帐户通过 OAuth 绑定到 :provider 帐户', - 'last_seen_on_date' => '最后活跃::date', + 'oauth_provider' => 'OAuth 提供方', + 'account_bound_to_x_via_oauth' => '此账户通过 OAuth 与 :provider 账户绑定', + 'last_seen_on_date' => '最近活跃::date', 'registered_on_date' => '注册于 :date', 'updated_on_date' => '更新于 :date', 'access' => '访问', - 'password_requested_on_t' => 'A password reset request exists for this user (request sent at :datetime), which means that the user has not yet changed their password but the link they received is still valid. This may be a request from the user themselves or from an administrator.', - 'password_request_expired' => 'A password reset request exists for this user but has expired, meaning that the user has not changed their password in time. This may be a request from the user themselves or from an administrator.', - 'resend_email' => '重新发送电子邮件', + 'password_requested_on_t' => '此用户已申请过密码重置 (申请时间 :datetime),但未完成重置密码的操作,且此前发送的密码重置链接仍然有效。此请求可能是由用户自己或其他管理员发起的。', + 'password_request_expired' => '此用户的密码重置请求已超时,意味着此用户未在有效期内完成密码重置。此请求可能是由用户自己或其他管理员发起的。', + 'resend_email' => '重新发送邮件', 'resend_email_title' => '重新发送密码重置邮件给用户', - 'resend_email_help' => '使用 重新发送电子邮件 向用户发送新密码重置邮件,以便他可以设置新密码。 这将保留当前密码,且之前的请求都将被撤销。', + 'resend_email_help' => '使用 重新发送邮件 来向用户发送新的密码重置邮件,以便用户可以设置新的密码。 此操作不会更改当前的密码,且之前的重置申请都将被撤销。', 'reset_password' => '重置密码', - 'reset_password_help' => 'Use Reset password to force a password reset (this will set a temporary password) before sending a password reset email to the user so they can set a new password. Any previous request will be revoked.', - 'reset_password_title' => '重置用户的密码', + 'reset_password_help' => '使用 重置密码 来强制重置密码 (将会使用临时密码来覆盖用户当前的密码),以便用户可以设置新密码。此操作会撤销之前的重置申请。', + 'reset_password_title' => '重置用户密码', 'password_successfully_reset' => '密码重置成功', 'user_has_x_active_pat' => ':count 个有效的令牌', - 'user_has_x_security_devices' => ':count 个安全设备 (安全钥匙)', + 'user_has_x_security_devices' => ':count 个安全设备 (通行密钥)', 'revoke_all_pat_for_user' => '吊销用户的所有令牌', 'revoke_all_devices_for_user' => '吊销用户的所有安全设备', 'danger_zone' => '危险选项', - 'delete_this_user_legend' => '用户帐户及其所有2FA 数据将被删除。', - 'this_is_not_soft_delete' => '这不是软删除,没有退路。', - 'delete_this_user' => '删除这个用户', - 'user_role_updated' => '用户角色已更新', + 'delete_this_user_legend' => '此用户所有的 2FA 数据将与此账户被一同删除。', + 'this_is_not_soft_delete' => '数据将被永久删除,此操作无法恢复。', + 'delete_this_user' => '删除此用户', + 'user_role_updated' => '用户权限已更新', 'pats_succesfully_revoked' => '用户的令牌已成功吊销。', 'security_devices_succesfully_revoked' => '用户的安全设备已成功吊销。', - 'variables' => '变量', - 'cache_cleared' => '已清除缓存', - 'cache_optimized' => '已优化缓存', + 'variables' => '环境变量', + 'cache_cleared' => '缓存已清除', + 'cache_optimized' => '缓存已优化', 'check_now' => '立即检查', 'view_on_github' => '在 GitHub 上查看', 'x_is_available' => '新版本 :version 可用!', - 'successful_login_on' => 'Successful login on :login_at', - 'successful_logout_on' => 'Successful logout on :login_at', - 'failed_login_on' => 'Failed login on :login_at', - 'viewed_on' => 'Viewed on :login_at', - 'last_accesses' => 'Last accesses', - 'see_full_log' => 'See full log', - 'browser_on_platform' => ':browser on :platform', - 'access_log_has_more_entries' => 'The access log contains more entries.', - 'access_log_legend_for_user' => 'Full access log for user :username', - 'show_last_month_log' => 'Show entries from the last month', - 'show_three_months_log' => 'Show entries from the last 3 months', - 'show_six_months_log' => 'Show entries from the last 6 months', - 'show_one_year_log' => 'Show entries from the last year', - 'sort_by_date_asc' => 'Show least recent first', - 'sort_by_date_desc' => 'Show most recent first', + 'successful_login_on' => '成功登录于 :login_at', + 'successful_logout_on' => '成功退出于 :login_at', + 'failed_login_on' => '登录失败于 :login_at', + 'viewed_on' => '查看 :login_at', + 'last_accesses' => '最近访问', + 'see_full_log' => '显示完整日志', + 'browser_on_platform' => ':platform 的 :browser', + 'access_log_has_more_entries' => '访问日志包含更多条目。', + 'access_log_legend_for_user' => '用户 :username 的完整访问日志', + 'show_last_month_log' => '显示上个月的条目', + 'show_three_months_log' => '显示最近 3 个月的条目', + 'show_six_months_log' => '显示最近 6 个月的条目', + 'show_one_year_log' => '显示上一年的条目', + 'sort_by_date_asc' => '倒序显示最近访问', + 'sort_by_date_desc' => '顺序显示最近访问', + 'single_sign_on' => 'Single Sign-On (SSO)', 'forms' => [ 'use_encryption' => [ 'label' => '保护敏感数据', - 'help' => '敏感数据、2FA 秘钥和电子邮件会被加密存储在数据库中。请务必备份您在 .env 中设置的 APP_KEY 的值(或备份整个文件)。没有此密钥将无法解码已加密的数据。', + 'help' => '敏感数据、2FA 秘钥和邮箱地址会以加密形式储存在数据库中。请务必备份您在 .env 中设置的 APP_KEY 的值 (或备份整个 .env 文件)。如果此密钥丢失,那么已加密的数据将无法解密。', ], 'restrict_registration' => [ 'label' => '限制注册', - 'help' => '只允许有限范围的电子邮件地址进行注册。这两条规则都可以同时使用。这对通过SSO进行注册没有影响。', + 'help' => '只允许范围内的邮箱地址进行注册,下列的两条规则可以同时使用。SSO 注册流程不受此限制的影响。', ], 'restrict_list' => [ 'label' => '过滤列表', - 'help' => '此列表中的电子邮件将被允许注册。用管道分隔("|")', + 'help' => '仅允许此列表中的邮箱进行注册,用管道符 "|" 来分隔多个地址。', ], 'restrict_rule' => [ 'label' => '过滤规则', - 'help' => '与此正则表达式匹配的电子邮件将被允许注册', + 'help' => '仅允许匹配正则表达式的邮箱地址进行注册', ], 'disable_registration' => [ - 'label' => '禁用注册', - 'help' => '防止新用户注册。除非被覆盖(见下文),否则这也会影响到SSO,所以新用户将无法通过 SSO 登录', + 'label' => '关闭注册', + 'help' => '防止新用户注册。除非被覆盖 (见下文)。此设置也会影响到 SSO 的注册流程,所以新用户将无法通过 SSO 登录', ], 'enable_sso' => [ - 'label' => '启用单点登录 (SSO)', - 'help' => '允许访问者通过单点登录方案使用外部ID进行身份验证', + 'label' => 'Enable SSO', + 'help' => '允许访客通过单点登录的方式,使用外部 ID 进行身份验证', + ], + 'use_sso_only' => [ + 'label' => 'Use SSO only', + 'help' => 'Make SSO the only available method to log in to 2FAuth. Password login and Webauthn are then disabled for regular users. Administrators are not affected by this restriction.', ], 'keep_sso_registration_enabled' => [ 'label' => '保持启用 SSO 注册', @@ -114,16 +120,16 @@ ], 'is_admin' => [ 'label' => '管理员', - 'help' => '授予用户管理员权限。管理员有权管理整个应用,如: 设置和其他用户,但不能生成不属于他们的2FA 密码。' + 'help' => '授予用户管理员权限。管理员有权管理整个应用,如调整 “设置” 和管理其他用户,但管理员无法对不属于他们的 2FA 创建密码。' ], 'test_email' => [ - 'label' => '电子邮件配置测试', - 'help' => '发送测试邮件来控制您的实例的电子邮件配置。 有一个正常的工作配置是很必要的,否则用户将无法请求重置密码。', - 'email_will_be_send_to_x' => '电子邮件将被发送到 :email', + 'label' => '测试送信配置', + 'help' => '发送测试邮件来验证送信配置是否正确。如果发送邮件的配置不正确,用户将无法请求重置密码。', + 'email_will_be_send_to_x' => '邮件将被发送到 :email', ], 'cache_management' => [ 'label' => '缓存管理', - 'help' => '有时缓存需要清除,例如在更改环境变量或更新后。您可以在此处这样做。', + 'help' => '某些情况下需要清除缓存,例如更改了环境变量,或更新了应用。您可以在此处进行缓存清理。', ] ], diff --git a/resources/lang/zh/auth.php b/resources/lang/zh/auth.php index fb86a215..be46d1de 100644 --- a/resources/lang/zh/auth.php +++ b/resources/lang/zh/auth.php @@ -14,115 +14,129 @@ */ // Laravel - 'failed' => '用户名或密码错误', - 'password' => '提供的密码不正确', - 'throttle' => '您尝试的登录次数过多,请 :seconds 秒后再试。', + 'failed' => '登录信息错误', + 'password' => '密码错误', + 'throttle' => '您尝试登录的次数过多,请 :seconds 秒后再试。', // 2FAuth - 'sign_out' => '登出', + 'sign_out' => '退出', 'sign_in' => '登录', - 'sign_in_using' => '登录使用', - 'or_continue_with' => 'You can also continue with:', + 'sign_in_using' => '登录方式:', + 'if_administrator' => 'Administrator?', + 'sign_in_here' => 'You can sign without SSO', + 'or_continue_with' => '您也可以使用:', + 'password_login_and_webauthn_are_disabled' => 'Password login and WebAuthn are disabled.', + 'sign_in_using_sso' => 'Pick an SSO provider to sign in with:', + 'no_provider' => 'no provider', + 'no_sso_provider_or_provider_is_missing' => 'Provider is missing?', + 'see_how_to_enable_sso' => 'See how to enable a provider', 'sign_in_using_security_device' => '使用安全设备登录', 'login_and_password' => '用户名和密码', 'register' => '注册', 'welcome_to_2fauth' => '欢迎使用 2FAuth', - 'autolock_triggered' => '已自动锁定', - 'autolock_triggered_punchline' => '自动锁定已触发。您已被自动断开连接。', - 'already_authenticated' => '已验证', + 'autolock_triggered' => '自动锁定已触发', + 'autolock_triggered_punchline' => '自动锁定已触发,您已被自动退出登录。', + 'already_authenticated' => '您已登录,请先退出登录。', 'authentication' => '身份认证', 'maybe_later' => '以后再说', - 'user_account_controlled_by_proxy' => '用户帐户由身份验证代理提供。
请在代理中管理帐户。', - 'auth_handled_by_proxy' => '身份验证由代理处理,下面的设置被禁用。
在代理管理身份验证。', + 'user_account_controlled_by_proxy' => '此账户由身份代理提供。
请在身份代理中进行管理。', + 'auth_handled_by_proxy' => '账户验证已被身份代理接管,下列设置已被禁用。
请在身份代理中进行管理。', + 'sso_only_x_settings_are_disabled' => 'Authentication is restricted to SSO only, :auth_method is disabled', 'confirm' => [ - 'logout' => '您确定要注销吗?', - 'revoke_device' => '你确定要删除此设备?', - 'delete_account' => '您确定要删除您的账户?', + 'logout' => '您确定要退出吗?', + 'revoke_device' => '您确定要删除此设备吗?', + 'delete_account' => '您确定要删除您的账户吗?', ], 'webauthn' => [ - 'security_device' => '硬件安全密钥', + 'security_device' => '安全设备', 'security_devices' => '安全设备', - 'security_devices_legend' => '您可以用来登录2FAuth的认证设备,例如安全密钥(如Yubikey)或具有生物识别能力的智能手机(如Apple Face Id/TouchId)', - 'enhance_security_using_webauthn' => '您可以通过启用 WebAuthn 身份验证来增强您的2FAuth 账户的安全性。

-WebAuthn允许您使用受信任的设备 (如Yubikeys 或具有生物识别能力的智能手机) 快速和更安全地登录。', - 'use_security_device_to_sign_in' => '准备好使用您的(一个)安全设备进行身份验证。请插入您的密钥,移除口罩或手套等。', - 'lost_your_device' => '设备丢失?', + 'security_devices_legend' => '您可以用来登录 2FAuth 的认证设备,例如安全密钥 (如 Yubikey) 或具有生物识别能力的智能手机 (如 Apple FaceID / TouchID)', + 'enhance_security_using_webauthn' => '您可以启用 WebAuthn 身份验证来增强您 2FAuth 账户的安全性。

+WebAuthn 允许您使用受信任的设备 (如 Yubikeys 或具有生物识别功能的智能手机) 来安全、快捷地进行登录验证。', + 'use_security_device_to_sign_in' => '若要使用您的某个安全设备进行身份验证,请插入您的密钥设备,并摘下口罩或手套。', + 'lost_your_device' => '设备已遗失?', 'recover_your_account' => '恢复您的账号', 'account_recovery' => '恢复账号', - 'recovery_punchline' => '2FAuth 将向您发送恢复链接到此电子邮件地址。点击收到电子邮件中的链接注册新的安全设备。

确保在您可以在自己的设备上打开电子邮件。', + 'recovery_punchline' => '2FAuth 将向此邮箱发送账户恢复链接。请点击邮件中的链接,并跟随引导操作。

为了保证安全性,请务必在您自己的设备上进行操作。', 'send_recovery_link' => '发送恢复链接', 'account_recovery_email_sent' => '账号恢复邮件已发送!', 'disable_all_security_devices' => '禁用所有安全设备', - 'disable_all_security_devices_help' => '您的所有安全设备都将被撤销。如果您丢失了一个设备或其安全性已经受到损害,请使用此选项。', + 'disable_all_security_devices_help' => '将吊销您所有的安全设备。若某个设备已遗失或不再安全,请点击此选项。', 'register_a_new_device' => '注册新设备', 'register_a_device' => '注册设备', - 'device_successfully_registered' => '成功注册设备', - 'device_revoked' => '成功注销设备', - 'revoking_a_device_is_permanent' => '注销设备是永久性的', - 'recover_account_instructions' => '若要恢复您的帐户,2FAuth 将会重置一些Webauth设置,以便您可以使用您的电子邮件和密码登录。', - 'invalid_recovery_token' => '无效的恢复密钥', + 'device_successfully_registered' => '设备注册成功', + 'device_revoked' => '设备吊销成功', + 'revoking_a_device_is_permanent' => '设备吊销后无法恢复', + 'recover_account_instructions' => '为了恢复您的账户,2FAuth 将会重置部分 Webauthn 相关的设置,以便您可以使用邮箱和密码进行登录。', + 'invalid_recovery_token' => '恢复令牌无效', 'webauthn_login_disabled' => 'Webauthn 登录已被禁用', 'invalid_reset_token' => '此密码重置令牌无效', 'rename_device' => '重命名设备', 'my_device' => '我的设备', 'unknown_device' => '未知设备', 'use_webauthn_only' => [ - 'label' => '仅使用 WebAuthn', - 'help' => '将WebAuthn设定为登录2FAuth账户的唯一授权的登录方式。推荐启用此选项,并利用WebAuth增强安全性。

- 设备丢失时, 您可以通过重置此选项并使用您的电子邮件和密码登录来恢复您的帐户。

- 请注意! 尽管启用了此选项,输入电子邮件和密码的登录界面仍然可用,但是会提示 “身份验证失败”。' + 'label' => '仅允许 WebAuthn', + 'help' => '将 WebAuthn 设为 2FAuth 的唯一鉴权方式。若要发挥 WebAuth 的最佳安全性,推荐启用此选项。

+ 当设备丢失时, 您可以重置此选项来恢复您的账户,并使用您的电子邮件和密码来登录。

+ 请注意! 此选项启用后仍会显示邮箱和密码的登录界面,但尝试登录时永远会提示 “身份验证失败”。' ], - 'need_a_security_device_to_enable_options' => '设置至少一个WebAuth设备以启用以下选项', + 'need_a_security_device_to_enable_options' => '若要启用下列选项,请添加 1 个 WebAuthn 设备。', 'options' => '选项', ], 'forms' => [ 'name' => '用户名', 'login' => '登录', 'webauthn_login' => '使用 WebAuthn 登录', + 'sso_login' => 'SSO login', 'email' => '邮箱', 'password' => '密码', 'reveal_password' => '显示密码', 'hide_password' => '隐藏密码', - 'confirm_password' => '确认密码', + 'confirm_password' => '再次确认密码', 'new_password' => '新密码', - 'confirm_new_password' => '确认新密码', - 'dont_have_account_yet' => '还没有账号?', + 'confirm_new_password' => '再次确认新密码', + 'dont_have_account_yet' => '还没有账户?', 'already_register' => '已经注册?', 'authentication_failed' => '验证失败', 'forgot_your_password' => '忘记密码?', 'request_password_reset' => '重置密码', - 'reset_your_password' => '重置你的密码', + 'reset_your_password' => '重置您的密码', 'reset_password' => '重置密码', - 'disabled_in_demo' => '此功能将在演示模式下禁用。', - 'new_password' => 'New password', + 'disabled_in_demo' => '此功能在演示模式下被禁用', + 'sso_only_form_restricted_to_admin' => 'Regular users must sign in with SSO. Other methods are for administrators only.', + 'new_password' => '新密码', 'current_password' => [ 'label' => '当前密码', - 'help' => '填写您当前设置的密码以确认是您本人' + 'help' => '输入您当前的密码以确认是您本人' ], 'change_password' => '修改密码', 'send_password_reset_link' => '发送密码重置链接', - 'password_successfully_reset' => '密码重置成功。', + 'password_successfully_reset' => '密码重置成功', 'edit_account' => '编辑账户', 'profile_saved' => '个人资料更新成功!', - 'welcome_to_demo_app_use_those_credentials' => '欢迎访问 2FAuth 的演示站点。

您可以使用电子邮件地址 demo@2fauth.app 和密码 demo来登录。', - 'welcome_to_testing_app_use_those_credentials' => '欢迎访问 2FAuth 的测试实例。

您可以使用电子邮件地址 testing@2fauth.app 和密码 password来登录。', + 'welcome_to_demo_app_use_those_credentials' => '欢迎来到 2FAuth 的演示站点。

您可以使用邮箱 demo@2fauth.app 和密码 demo 来登录。', + 'welcome_to_testing_app_use_those_credentials' => '欢迎来到 2FAuth 的测试实例。

您可以使用邮箱 testing@2fauth.app 和密码 password 来登录。', 'register_punchline' => '欢迎使用 2FAuth
您需要一个账号才能继续,请先完成注册。', - 'reset_punchline' => '2FAuth 将向您发送密码重置链接到此邮箱。请点击收到的电子邮件中的链接设置新密码。', + 'reset_punchline' => '2FAuth 将向此邮箱发送密码重置链接,请点击邮件中的链接设置新密码。', 'name_this_device' => '命名此设备', 'delete_account' => '删除账户', 'delete_your_account' => '删除您的账户', - 'delete_your_account_and_reset_all_data' => '这将重置您的 2FAuth。您的账号以及所有的 2FA 数据都将被删除,这是一个不可逆的操作。', - 'reset_your_password_to_delete_your_account' => '如果您总是使用 SSO 登录, 登出后使用重置密码功能获取密码,以便您可以填写此表格。', - 'deleting_2fauth_account_does_not_impact_provider' => '删除您的 2FAuth 帐户对您的外部 SSO 帐户没有影响。', - 'user_account_successfully_deleted' => '账号已成功删除', + 'delete_your_account_and_reset_all_data' => '您所有的 2FA 数据将与此账户被一同删除,此操作无法恢复。', + 'reset_your_password_to_delete_your_account' => '如果您经常使用 SSO 登录,您可以在退出登录后,使用 “重置密码” 功能获取密码来填写此表格中的对应项目。', + 'deleting_2fauth_account_does_not_impact_provider' => '删除 2FAuth 账户不会影响您的外部 SSO 账户。', + 'user_account_successfully_deleted' => '账号删除成功', 'has_lower_case' => '包含小写字母', 'has_upper_case' => '包含大写字母', 'has_special_char' => '包含特殊字符', 'has_number' => '包含数字', - 'is_long_enough' => '至少 8 个字符', - 'mandatory_rules' => '必选项', - 'optional_rules_you_should_follow' => '建议(推荐)', - 'caps_lock_is_on' => '大写锁定已开启', + 'is_long_enough' => '至少 8 位', + 'mandatory_rules' => '必须', + 'optional_rules_you_should_follow' => '建议 (更安全)', + 'caps_lock_is_on' => '大写锁定已打开', ], - + 'sso_providers' => [ + 'unknown' => 'unknown', + 'github' => 'Github', + 'openid' => 'OpenID' + ] ]; diff --git a/resources/lang/zh/commons.php b/resources/lang/zh/commons.php index 1012d72c..7e72cacb 100644 --- a/resources/lang/zh/commons.php +++ b/resources/lang/zh/commons.php @@ -17,7 +17,7 @@ 'update' => '更新', 'copy' => '复制', 'copy_to_clipboard' => '复制到剪贴板', - 'copied_to_clipboard' => '已复制到剪贴板', + 'copied_to_clipboard' => '已复制', 'profile' => '个人资料', 'edit' => '编辑', 'delete' => '删除', @@ -30,7 +30,7 @@ 'clear_search' => '清除搜索结果', 'demo_do_not_post_sensitive_data' => '这是一个演示应用,请不要上传任何敏感数据', 'testing_do_not_post_sensitive_data' => '这是一个测试应用,请不要上传任何敏感数据', - 'x_selected' => '已选择:count个', + 'x_selected' => '已选择 :count 个', 'name' => '名称', 'manage' => '管理', 'done' => '完成', @@ -49,26 +49,26 @@ 'options' => '选项', 'reload' => '刷新', 'refresh' => '刷新', - 'data_refreshed_to_reflect_server_changes' => '数据已被刷新以反映服务器侧的更改', + 'data_refreshed_to_reflect_server_changes' => '数据已与服务器同步', 'generate' => '生成', 'generating_otp' => '正在生成 OTP', 'open_in_browser' => '在浏览器中打开', 'continue' => '继续', 'discard' => '放弃', 'about' => '关于', - 'usefull_links' => '有用的链接', - 'environment' => '环境', + 'usefull_links' => '实用网站', + 'environment' => '环境变量', 'credits' => '鸣谢', - '2fauth_teaser' => '用于管理您的两步验证 (2FA) 帐户并生成安全码的网页应用', + '2fauth_teaser' => '本网页 App 可助您管理两步验证 (2FA) 账户,并生成对应的验证码', 'made_with' => '基于', 'ui_icons_by' => 'UI 图标来自', 'logos_by' => 'Logo 来自', 'search' => '搜索​​​​', 'resources' => '资源', 'check_for_update' => '检查更新', - 'check_for_update_help' => '自动检查 (每周一次) 并当 2FAuth 在 Github 上发布新版本时发出提醒', - 'you_are_up_to_date' => '该实例是最新的', - '2fauth_description' => '用于管理您的两步验证 (2FA) 账户并生成安全码的网页应用', + 'check_for_update_help' => '自动检查更新 (每周一次)。当在 Github 上发现 2FAuth 的新版本时会发出更新提醒', + 'you_are_up_to_date' => '已是最新版', + '2fauth_description' => '本网页 App 可助您管理两步验证 (2FA) 账户,并生成对应的验证码', 'image_of_qrcode_to_scan' => '要扫描的二维码图像', 'file' => '文件', 'or' => '或', @@ -81,14 +81,14 @@ 'information' => '信息', 'send' => '发送', 'optimize' => '优化', - 'IP' => 'IP地址', + 'IP' => 'IP 地址', 'browser' => '浏览器', 'operating_system_short' => '系统版本', 'no_entry_yet' => '暂无记录', 'time' => '时间', 'ip_address' => 'IP 地址', 'device' => '设备', - 'one_month' => '一个月', - 'x_month' => ':x mos.', - 'one_year' => '1 yr.', + 'one_month' => '1 个月', + 'x_month' => ':x 个月', + 'one_year' => '1 年', ]; diff --git a/resources/lang/zh/errors.php b/resources/lang/zh/errors.php index d4abcfed..d0981ce1 100644 --- a/resources/lang/zh/errors.php +++ b/resources/lang/zh/errors.php @@ -13,63 +13,64 @@ | */ - 'resource_not_found' => '资源未找到', - 'error_occured' => '发生错误:', + 'resource_not_found' => '找不到资源', + 'error_occured' => '发生错误:', 'refresh' => '刷新', - 'no_valid_otp' => '此二维码中没有有效的OTP资源', + 'no_valid_otp' => '此二维码中没有有效的 OTP 字段', 'something_wrong_with_server' => '服务器发生内部错误', - 'Unable_to_decrypt_uri' => '无法解密uri', - 'not_a_supported_otp_type' => '不支持此OTP格式', - 'cannot_create_otp_without_secret' => '无法在没有密码的情况下创建一个OTP', - 'data_of_qrcode_is_not_valid_URI' => '此QR码的数据不是有效的OTP Auth URI。该QR码包含:', - 'wrong_current_password' => '当前密码错误,没有发生任何更改', - 'error_during_encryption' => '加密失败,您的数据库仍未受到保护', - 'error_during_decryption' => '解密失败,您的数据库仍受保护。这通常由一个或多个帐户加密数据的完整性不足导致。', + 'Unable_to_decrypt_uri' => '无法解密 uri', + 'not_a_supported_otp_type' => '不支持此 OTP 格式', + 'cannot_create_otp_without_secret' => '无法在无密码的情况下创建一个 OTP', + 'data_of_qrcode_is_not_valid_URI' => '此二维码的数据不是有效的 OTP Auth URI。此二维码包含:', + 'wrong_current_password' => '当前密码错误,更改已取消', + 'error_during_encryption' => '加密失败,您的数据库仍处于未保护状态。', + 'error_during_decryption' => '解密失败,您的数据库仍处于保护状态。这通常是因为某个或多个账户的加密数据的完整性存在问题而导致的。', 'qrcode_cannot_be_read' => '二维码无效', - 'too_many_ids' => '查询参数中包含太多ID,最多允许 100 个', - 'delete_user_setting_only' => '只能删除用户创建的设置', + 'too_many_ids' => '查询参数中包含太多 ID,最多允许 100 个', + 'delete_user_setting_only' => '只能删除由用户创建的设置', 'indecipherable' => '*无法解析*', - 'cannot_decipher_secret' => '密钥不能被解密。这主要是由 2Fauth 的 .env 文件中 APP_KEY 设置错误或存储在数据库中的数据已损坏引发的。', + 'cannot_decipher_secret' => '无法解密,可能是因为 2FAuth 的 .env 文件中 APP_KEY 值的设置错误,或存储在数据库中的数据已损坏。', 'https_required' => '需要 HTTPS', - 'browser_does_not_support_webauthn' => '您的设备不支持Webauthn。请使用更现代的浏览器重试。', - 'aborted_by_user' => '被用户中止。', + 'browser_does_not_support_webauthn' => '您的设备不支持 Webauthn,请尝试换用新版浏览器并重试。', + 'aborted_by_user' => '被用户中止', 'security_device_already_registered' => '设备已被注册过', 'not_allowed_operation' => '不允许此操作', - 'no_authenticator_support_specified_algorithms' => '没有身份验证器支持指定的算法', - 'authenticator_missing_discoverable_credential_support' => '身份验证器缺少可发现凭据的支持', - 'authenticator_missing_user_verification_support' => '身份验证器缺少用户验证支持', + 'no_authenticator_support_specified_algorithms' => '此算法没有任何身份验证器支持', + 'authenticator_missing_discoverable_credential_support' => '身份验证器暂不兼容可识别凭据', + 'authenticator_missing_user_verification_support' => '身份验证器暂不兼容用户验证', 'unknown_error' => '未知错误', - 'security_error_check_rpid' => '安全错误
请检查您的 WEBAUTHN_ID env var', - '2fauth_has_not_a_valid_domain' => '2FAuth的域不是一个有效的域', - 'user_id_not_between_1_64' => '用户ID不在 1 到 64 个字符内', - 'no_entry_was_of_type_public_key' => '没有类型为"公钥"的条目', - 'unsupported_with_reverseproxy' => '使用代理进行认证时不可用', - 'user_deletion_failed' => '帐户删除失败,没有数据被删除', - 'auth_proxy_failed' => '代理认证失败', - 'auth_proxy_failed_legend' => '2Fauth 被配置为在身份验证代理后运行,但您的代理没有返回预期的请求头。请检查您的配置并重试。', - 'invalid_x_migration' => '无效或不可读的 :appname 数据', - 'invalid_2fa_data' => '无效的2FA数据', - 'unsupported_migration' => '数据与任何支持的格式不匹配', - 'unsupported_otp_type' => '不支持的 OTP 类型', - 'encrypted_migration' => '无法读取,数据似乎已加密', - 'no_logo_found_for_x' => '{service} 没有可用的 Logo', + 'security_error_check_rpid' => '安全错误
请检查您的 WEBAUTHN_ID 环境变量', + '2fauth_has_not_a_valid_domain' => '2FAuth 的域名无效', + 'user_id_not_between_1_64' => '用户 ID 需为 1 至 64 个字符内', + 'no_entry_was_of_type_public_key' => '没有类型为 “公钥” 的条目', + 'unsupported_with_reverseproxy' => 'Not applicable when using an auth proxy or SSO', + 'unsupported_with_sso_only' => 'This authentication method is for administrators only. Users must log in with SSO.', + 'user_deletion_failed' => '账户删除失败,数据未被删除', + 'auth_proxy_failed' => '身份代理认证失败', + 'auth_proxy_failed_legend' => '已为 2FAuth 配置了前置的身份代理,但身份代理并没有返回正确的请求头,请检查您的配置并重试。', + 'invalid_x_migration' => '无效或不兼容的 :appname 数据', + 'invalid_2fa_data' => '无效的 2FA 数据', + 'unsupported_migration' => '不兼容的数据格式', + 'unsupported_otp_type' => '不兼容的 OTP 类型', + 'encrypted_migration' => '无法读取,数据可能已被加密', + 'no_logo_found_for_x' => '没有为 :service 找到可用的 Logo', 'file_upload_failed' => '文件上传失败', 'unauthorized' => '无权限', 'unauthorized_legend' => '您无权查看此资源或执行此操作', 'cannot_delete_the_only_admin' => '无法删除唯一的管理员账户', - 'cannot_demote_the_only_admin' => 'Cannot demote the only admin account', - 'error_during_data_fetching' => '💀 在获取数据过程中出了问题', + 'cannot_demote_the_only_admin' => '无法降级此唯一的管理员账户', + 'error_during_data_fetching' => '💀 获取数据时出错', 'check_failed_try_later' => '检查失败,请稍后重试', 'sso_disabled' => 'SSO 已禁用', - 'sso_bad_provider_setup' => '此 SSO 提供商没有在您的 .env 文件中完全设置', - 'sso_failed' => '通过 SSO 验证被拒绝', - 'sso_no_register' => '注册已禁用', - 'sso_email_already_used' => '已存在具有相同电子邮件地址的用户帐户,但它与您的外部帐户ID不匹配。 如果您已经在 2FAuth 上使用此邮箱注册,请不要使用 SSO。', - 'account_managed_by_external_provider' => '由外部提供商管理的帐户', + 'sso_bad_provider_setup' => '您未在 .env 文件中正确配置此 SSO 提供方', + 'sso_failed' => 'SSO 验证被拒绝', + 'sso_no_register' => '已停用注册', + 'sso_email_already_used' => '已存在相同邮箱的账户,但不匹配您的外部账户 ID 。如果您已使用此邮箱在 2FAuth 上注册过,请不要使用 SSO。', + 'account_managed_by_external_provider' => '由外部提供方管理的账户', 'data_cannot_be_refreshed_from_server' => '无法从服务器刷新数据', - 'no_pwd_reset_for_this_user_type' => '此用户无法重置密码', - 'cannot_detect_qrcode_in_image' => 'Cannot detect a QR code in the image, try to crop the image', - 'cannot_decode_detected_qrcode' => 'Cannot decode detected QR code, try to crop or sharpen the image', - 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', - 'no_readable_qrcode' => 'No readable QR code', + 'no_pwd_reset_for_this_user_type' => '无法为此用户重置密码', + 'cannot_detect_qrcode_in_image' => '未在图像中检测到二维码,请裁切图像后再试', + 'cannot_decode_detected_qrcode' => '二维码已识别,但解码失败,请裁切或锐化图像后再试', + 'qrcode_has_invalid_checksum' => '二维码的校验码错误', + 'no_readable_qrcode' => '没有可识别的二维码', ]; \ No newline at end of file diff --git a/resources/lang/zh/groups.php b/resources/lang/zh/groups.php index 27e9de8a..325560a3 100644 --- a/resources/lang/zh/groups.php +++ b/resources/lang/zh/groups.php @@ -13,29 +13,29 @@ | */ - 'groups' => '组', - 'create_group' => '创建新组', - 'show_group_selector' => '显示分组选择器', - 'hide_group_selector' => '隐藏分组选择器', - 'select_accounts_to_show' => '选择要显示的帐户分组', - 'x_accounts' => ':count个帐户', - 'manage_groups' => '管理组', - 'active_group' => '活跃组', - 'manage_groups_legend' => '您可以创建组以按照您想要的方式组织您的账户。 所有账户在名为“全部”的伪组中仍然可见,无论它们属于哪个组。', - 'deleting_group_does_not_delete_accounts' => '删除组不会删除帐户', - 'move_selected_to' => '移动选择到', - 'move_selected_to_group' => '将所选移入组中', + 'groups' => '分组', + 'create_group' => '新建分组', + 'show_group_selector' => '显示分组筛选', + 'hide_group_selector' => '隐藏分组筛选', + 'select_accounts_to_show' => '选择要显示的账户分组', + 'x_accounts' => ':count 个账户', + 'manage_groups' => '管理分组', + 'active_group' => '最近更新', + 'manage_groups_legend' => '您可以创建并按分组的形式来整理您的账户。无论账户处于哪个组内,都将在 “全部” 分组中显示。', + 'deleting_group_does_not_delete_accounts' => '删除分组不会删除账户', + 'move_selected_to' => '移动所选项到', + 'move_selected_to_group' => '将所选移入分组中', 'no_group' => '没有分组', - 'change_group' => '更改组', - 'group_successfully_created' => '分组成功创建', + 'change_group' => '更改分组', + 'group_successfully_created' => '分组创建成功', 'group_name_saved' => '分组名称已保存', - 'group_successfully_deleted' => '分组成功删除', + 'group_successfully_deleted' => '分组删除成功', 'forms' => [ - 'new_group' => '新建组', + 'new_group' => '新建分组', 'new_name' => '新名称', - 'rename_group' => '重命名组', + 'rename_group' => '重命名分组', ], 'confirm' => [ - 'delete' => '您确定要删除此组吗?', + 'delete' => '您确定要删除此分组吗?', ], ]; \ No newline at end of file diff --git a/resources/lang/zh/languages.php b/resources/lang/zh/languages.php index d673096c..3a0c8307 100644 --- a/resources/lang/zh/languages.php +++ b/resources/lang/zh/languages.php @@ -10,15 +10,15 @@ | */ - 'browser_preference' => '使用游览器偏好', + 'browser_preference' => '跟随浏览器语言', 'en' => 'English (英语)', 'fr' => 'Français (法语)', 'de' => 'Deutsch (德语)', 'es' => 'Español (西班牙语)', - 'zh' => '简体中文 (简体中文)', + 'zh' => '中文 (简体中文)', 'ru' => 'Русский (俄语)', 'bg' => 'Български (保加利亚语)', - 'ja' => '日本語 (日本人)', + 'ja' => '日本語 (日语)', 'hi' => 'हिंदी (印地语)', - 'tr' => 'Türkçe (Turkish)', + 'tr' => 'Türkçe (土耳其语)', ]; \ No newline at end of file diff --git a/resources/lang/zh/notifications.php b/resources/lang/zh/notifications.php index 2e578888..ff278770 100644 --- a/resources/lang/zh/notifications.php +++ b/resources/lang/zh/notifications.php @@ -14,23 +14,23 @@ */ 'hello' => '您好', - 'hello_user' => 'Hello :username,', - 'regards' => 'Regards', + 'hello_user' => '您好,:username,', + 'regards' => '此致', 'test_email_settings' => [ - 'subject' => '2FAuth 测试电子邮件', - 'reason' => '您收到这封邮件是因为您请求了一封测试电子邮件来验证您的2FAuth 实例的电子邮件设置。', - 'success' => '好消息是,它正常工作:)' + 'subject' => '2FAuth 测试邮件', + 'reason' => '之所以您会收到这封邮件,是因为您请求了一封测试邮件来验证您 2FAuth 的电子邮件送信配置。', + 'success' => '恭喜您,功能正常 :)' ], 'new_device' => [ - 'subject' => 'Connection to 2FAuth from a new device', - 'resume' => 'A new device has just connected to your 2FAuth account.', - 'connection_details' => 'Here are the details of this connection', - 'recommandations' => 'If this was you, you can ignore this alert. If you suspect any suspicious activity on your account, please change your password.' + 'subject' => '来自新设备的访问', + 'resume' => '一台新设备刚被添加到您的 2FAuth 账户上。', + 'connection_details' => '这是本次事件的相关信息', + 'recommandations' => '如果是您操作的,您可以忽略此告警。如果您怀疑您的账户有任何可疑活动,请立即更改您的密码。' ], 'failed_login' => [ - 'subject' => 'Failed login to 2FAuth', - 'resume' => 'There has been a failed login attempt to your 2FAuth account.', - 'connection_details' => 'Here are the details of this connection attempt', - 'recommandations' => 'If this was you, you can ignore this alert. If further attempts fail, you should contact the 2FAuth administrator to review security settings and take action against this attacker.' + 'subject' => '2FAuth 登录失败', + 'resume' => '您的 2FAuth 账户触发了一次登录失败。', + 'connection_details' => '这是本次事件的相关信息', + 'recommandations' => '如果是您操作的,您可以忽略此告警。如果持续有失败的登录尝试,您应立即通知 2FAuth 的管理员去检查相关的安全设置,并对此攻击者采取措施。' ], ]; \ No newline at end of file diff --git a/resources/lang/zh/passwords.php b/resources/lang/zh/passwords.php index e34247c1..258bc030 100644 --- a/resources/lang/zh/passwords.php +++ b/resources/lang/zh/passwords.php @@ -18,9 +18,9 @@ 'sent' => '密码重置邮件已发送!', 'throttled' => '请稍候再试。', 'token' => '密码重置令牌无效。', - 'user' => "找不到该邮箱对应的用户。", + 'user' => "找不到此邮箱对应的用户。", // 2FAuth - 'password' => '密码必须包含至少8个字符,且两次输入的内容必须相同。', + 'password' => '密码至少为 8 位,且两次输入的内容必须相同。', ]; diff --git a/resources/lang/zh/settings.php b/resources/lang/zh/settings.php index ac11d78c..eccb58e9 100644 --- a/resources/lang/zh/settings.php +++ b/resources/lang/zh/settings.php @@ -14,7 +14,7 @@ */ 'settings' => '设置', - 'preferences' => '偏好', + 'preferences' => '偏好设置', 'account' => '账户', 'oauth' => 'OAuth', 'webauthn' => 'WebAuthn', @@ -26,156 +26,156 @@ ], 'you_are_administrator' => '您是管理员', - 'account_linked_to_sso_x_provider' => '您通过SSO使用您的 :provider 帐户登录。您的信息不能在这里更改,只能在 :provider 。', - 'general' => '常规', + 'account_linked_to_sso_x_provider' => '您当前是通过 :provider 登录的,因此无法在此处更改信息,请回到 :provider 进行操作。', + 'general' => '通用', 'security' => '安全', - 'notifications' => 'Notifications', + 'notifications' => '通知', 'profile' => '配置文件', 'change_password' => '更改密码', 'personal_access_tokens' => '个人访问令牌', - 'token_legend' => '个人访问令牌允许任何应用访问 2Fauth API。您应该在第三方应用授权请求头中提供访问令牌作为一个 Bearer 令牌。', + 'token_legend' => '任何应用都能够通过个人访问令牌来与 2Fauth API 进行鉴权。您需要在第三方应用的请求头中,提供此令牌作为 Bearer 令牌。', 'generate_new_token' => '生成新令牌', 'revoke' => '吊销', 'token_revoked' => '已成功吊销令牌', - 'revoking_a_token_is_permanent' => '吊销令牌是永久的', + 'revoking_a_token_is_permanent' => '令牌吊销后无法恢复', 'confirm' => [ - 'revoke' => '你确定要吊销此令牌?', + 'revoke' => '您确定要吊销此令牌吗?', ], - 'make_sure_copy_token' => '请确保您已复制个人访问令牌。令牌将不再显示。', - 'data_input' => '数据输入', + 'make_sure_copy_token' => '请确保您已复制个人访问令牌!此令牌仅展示这一次。', + 'data_input' => '数据录入', 'forms' => [ 'edit_settings' => '编辑设置', 'setting_saved' => '设置已保存', 'new_token' => '新建令牌', - 'some_translation_are_missing' => '使用浏览器偏好时缺少一些翻译?', - 'help_translate_2fauth' => '帮助翻译 2FAuth', + 'some_translation_are_missing' => '发现有词条缺少翻译吗?', + 'help_translate_2fauth' => '协助翻译 2FAuth!', 'language' => [ 'label' => '语言', - 'help' => '用来翻译 2FAuth 用户界面的语言。列出的语言已完成翻译,请设置你选择的语言来覆盖你的浏览器偏好。' + 'help' => '2FAuth 用户界面的显示语言。以下仅列出完成翻译的语言,请选择的一个语言来覆盖当前的设置。' ], 'timezone' => [ - 'label' => 'Time zone', - 'help' => 'The time zone applied to all dates and times displayed in the application' + 'label' => '时区', + 'help' => '设置本 App 中所有日期与时间的时区' ], 'show_otp_as_dot' => [ - 'label' => '用 *** 来显示生成的一次性密码', - 'help' => '将生成的密码替换为 *** 以确保保密。不影响复制和粘贴功能。' + 'label' => '隐藏 OTP 验证码', + 'help' => '使用星号来遮挡明文验证码。启用此功能不会影响复制和粘贴功能。' ], 'reveal_dotted_otp' => [ - 'label' => '显示被 *** 隐藏的 OTP', - 'help' => '允许临时显示被 *** 隐藏的密码' + 'label' => '显示被星号遮挡的 OTP 验证码', + 'help' => '临时允许验证码以明文显示' ], 'close_otp_on_copy' => [ - 'label' => '复制后关闭 OTP', - 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + 'label' => '复制后关闭 OTP 验证码', + 'help' => '点击某个验证码即可复制并隐藏显示' ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', - 'help' => 'Automatically hide on-screen password after a timeout. This avoids unnecessary requests for fresh passwords if you forget to close the password view.' + 'label' => '自动关闭 OTP 验证码', + 'help' => '超时后自动隐藏明文显示的验证码。如果您忘记退出验证码界面,此功能可以避免非必要的验证码刷新请求。' ], 'clear_search_on_copy' => [ 'label' => '复制后清空搜索框', - 'help' => '代码复制到剪贴板后立即清空搜索框' + 'help' => '复制验证码后立即清空搜索框' ], 'sort_case_sensitive' => [ - 'label' => 'Sort case sensitive', - 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + 'label' => '按大小写排序', + 'help' => '选中时,强制 “排序” 功能以大小写敏感的方式对账户进行排序' ], 'copy_otp_on_display' => [ - 'label' => '在显示时复制 OTP', - 'help' => '在屏幕显示后自动复制生成的密码。 由于浏览器限制,只有第一个 TOTP 密码将被复制,而不是更新后的' + 'label' => '当 OTP 显示时复制', + 'help' => '当验证码显示时立即复制。由于浏览器的限制,仅能复制第一个 TOTP 验证码,后续刷新的无法自动复制。' ], 'use_basic_qrcode_reader' => [ - 'label' => '使用基本二维码读取器', - 'help' => '如果你在扫描二维码时遇到问题,这个选项可以切换到更基本但更可靠的二维码阅读器' + 'label' => '使用简版二维码扫描器', + 'help' => '如果你在扫描二维码时遇到问题,此选项可以切换到更简单但更可靠的二维码扫描器' ], 'display_mode' => [ 'label' => '显示模式', - 'help' => '选择将账户以列表或网格的方式进行展示' + 'help' => '选择以列表或网格的方式显示所有的账户' ], 'password_format' => [ 'label' => '密码格式', - 'help' => '分组显示密码,提高可读性并且便于记忆' + 'help' => '分段显示验证码,提高可读性并且便于记忆' ], - 'pair' => '两位数分组', - 'pair_legend' => '以两位数分组拆分数字', - 'trio_legend' => '以三位数分组拆分数字', - 'half_legend' => '将数字拆分为两个相等数位的分组', - 'trio' => '三位数分组', - 'half' => '两个相等数位的分组', + 'pair' => '两位一组', + 'pair_legend' => '以两位为一组进行分隔', + 'trio_legend' => '以三位为一组进行分隔', + 'half_legend' => '平均拆分位两组', + 'trio' => '三位一组', + 'half' => '对半分组', 'grid' => '网格', 'list' => '列表', 'theme' => [ 'label' => '主题', - 'help' => '强制一个特定主题或应用系统/浏览器首选项中定义的主题' + 'help' => '强制一个特定主题,或跟随系统 / 浏览器的设置' ], - 'light' => '亮色主题', - 'dark' => '暗色主题', - 'automatic' => '自动检测', + 'light' => '亮色', + 'dark' => '暗色', + 'automatic' => '自动', 'show_accounts_icons' => [ 'label' => '显示图标', 'help' => '在主视图中显示应用图标' ], 'get_official_icons' => [ 'label' => '获取官方图标', - 'help' => '(尝试) 在添加账户时获取两步验证发行者的官方图标' + 'help' => '在添加账户时,尝试获取 2FA 提供方的官方图标' ], 'auto_lock' => [ 'label' => '自动锁定', - 'help' => '在没有活动的情况下自动登出用户。当使用认证代理或没有指定自定义注销 URL 时无效。' + 'help' => '在不活跃时自动退出登录。当使用身份代理,或没有配置自定义注销 URL 时无效。' ], 'default_group' => [ 'label' => '默认分组', 'help' => '新创建的账户所关联的分组', ], 'view_default_group_on_copy' => [ - 'label' => '在复制后查看默认组', - 'help' => '复制OTP后总是返回到默认组', + 'label' => '在复制后显示默认分组', + 'help' => '复制 OTP 验证码后总是返回到默认分组', ], 'auto_save_qrcoded_account' => [ - 'label' => 'Auto-save accounts', - 'help' => 'New accounts are automatically registered after scanning or uploading a QR code, no need to click a Save button', + 'label' => '自动保存账户', + 'help' => '扫描或上传二维码后,新账户会被自动录入,无需点击 ”保存“ 按钮。', ], 'useDirectCapture' => [ - 'label' => '直接输入', - 'help' => '选择您是否想要在可用的输入模式中选择输入模式,或者直接使用默认输入模式', + 'label' => '直接录入', + 'help' => '决定是否要在您录入时弹出录入模式选单,或者直接使用默认的录入模式', ], 'defaultCaptureMode' => [ - 'label' => '默认输入模式', - 'help' => '直接输入选项开启时使用的默认输入模式', + 'label' => '默认录入模式', + 'help' => '直接录入模式启用时所使用的默认录入模式', ], 'remember_active_group' => [ - 'label' => '记住组筛选器', - 'help' => '保存最后应用的组过滤器并在下次访问时还原它', + 'label' => '记住分组筛选器', + 'help' => '记住上次筛选出的分组,并在下次访问时展示', ], 'otp_generation' => [ - 'label' => '显示密码', - 'help' => '设置 OTPs 的显示方式和时间。
', + 'label' => '显示验证码', + 'help' => '设置 OTPs 验证码的显示方式和时间。
', ], 'notify_on_new_auth_device' => [ - 'label' => 'On new device', - 'help' => 'Get an email when a new device connects to your 2FAuth account for the first time' + 'label' => '来自新设备时', + 'help' => '当新设备首次登录时发送邮件通知' ], 'notify_on_failed_login' => [ - 'label' => 'On failed login', - 'help' => 'Get an email each time an attempt to connect to your 2FAuth account fails' + 'label' => '登录失败时', + 'help' => '每次登录失败时都发送邮件通知' ], - 'otp_generation_on_request' => '点击/单击账户后', - 'otp_generation_on_request_legend' => '在专用视图中显示密码', - 'otp_generation_on_request_title' => '单击帐户在专用视图中获取密码', + 'otp_generation_on_request' => '点击 / 单击账户后', + 'otp_generation_on_request_legend' => '在独立页面中显示', + 'otp_generation_on_request_title' => '点击账户后,在独立页面中打开并获取验证码', 'otp_generation_on_home' => '始终', - 'otp_generation_on_home_legend' => '主视图中显示所有密码', - 'otp_generation_on_home_title' => '在主视图中显示所有密码,无需任何操作', + 'otp_generation_on_home_legend' => '全部在主页中显示', + 'otp_generation_on_home_title' => '所有验证码都在主页中显示,不做任何操作', 'never' => '从不', - 'on_otp_copy' => '在复制安全代码后', - '1_minutes' => '1分钟后', - '2_minutes' => 'After 2 minutes', - '5_minutes' => '5分钟后', + 'on_otp_copy' => '复制验证码后', + '1_minutes' => '1 分钟后', + '2_minutes' => '2 分钟后', + '5_minutes' => '5 分钟后', '10_minutes' => '10 分钟后', - '15_minutes' => '15分钟后', + '15_minutes' => '15 分钟后', '30_minutes' => '30 分钟后', - '1_hour' => '1小时后', - '1_day' => '1天后', + '1_hour' => '1 小时后', + '1_day' => '1 天后', 'livescan' => '扫描二维码', 'upload' => '上传二维码', 'advanced_form' => '高级表单', diff --git a/resources/lang/zh/titles.php b/resources/lang/zh/titles.php index 55745925..8bf2d5c6 100644 --- a/resources/lang/zh/titles.php +++ b/resources/lang/zh/titles.php @@ -16,12 +16,12 @@ 'importAccounts' => '导入账户', 'editAccount' => '编辑账户', 'showQRcode' => '二维码形式的账户', - 'groups' => '组', - 'createGroup' => '创建组', - 'editGroup' => '编辑组', + 'groups' => '分组', + 'createGroup' => '创建分组', + 'editGroup' => '编辑分组', 'settings' => [ 'options' => '选项', - 'account' => '用户帐户', + 'account' => '用户账户', 'oauth' => [ 'tokens' => 'OAuth 令牌', 'generatePAT' => '新建个人令牌', @@ -52,7 +52,7 @@ 'createUser' => '创建用户', 'manageUser' => '管理用户', 'logs' => [ - 'access' => 'Access log' + 'access' => '访问日志' ] ] ]; \ No newline at end of file diff --git a/resources/lang/zh/twofaccounts.php b/resources/lang/zh/twofaccounts.php index 4c19c7b0..26279495 100644 --- a/resources/lang/zh/twofaccounts.php +++ b/resources/lang/zh/twofaccounts.php @@ -16,155 +16,159 @@ 'service' => '服务', 'account' => '账户', 'icon' => '图标', - 'icon_to_illustrate_the_account' => '说明账户的图标', + 'icon_to_illustrate_the_account' => '账户对应的图标', 'remove_icon' => '移除图标', - 'no_account_here' => '这里没有两步验证!', - 'add_first_account' => '选择一个方法并添加您的第一个帐户', - 'use_full_form' => '或者使用完整的表单', + 'no_account_here' => '无 2FA 账户!', + 'add_first_account' => '选择一个添加方法,创建您的第一个账户', + 'use_full_form' => '或通过填写表单创建', 'add_one' => '添加一个', - 'show_qrcode' => '显示 QR 码', + 'show_qrcode' => '显示二维码', 'no_service' => '- 无服务 -', - 'account_created' => '帐户成功创建', - 'account_updated' => '账户成功更新', - 'accounts_deleted' => '帐户成功删除', - 'accounts_moved' => '帐户成功移动', - 'export_selected_to_json' => '将所选账号以json导出', + 'account_created' => '账户创建成功', + 'account_updated' => '账户更新成功', + 'accounts_deleted' => '账户删除成功', + 'accounts_moved' => '账户移动成功', + 'export_selected_to_json' => '将所选账号以 JSON 格式导出', 'reveal' => '显示', 'forms' => [ 'service' => [ - 'placeholder' => '谷歌, 推特, 苹果', + 'placeholder' => '服务名称', ], 'account' => [ - 'placeholder' => '李华', + 'placeholder' => '账户名称', ], 'new_account' => '新建账户', 'edit_account' => '编辑账户', 'otp_uri' => 'OTP Uri', - 'scan_qrcode' => '扫描QR码', - 'upload_qrcode' => '上传一个QR码', + 'scan_qrcode' => '扫描二维码', + 'upload_qrcode' => '上传二维码', 'use_advanced_form' => '使用高级表单', - 'prefill_using_qrcode' => '使用QR码进行预填充', + 'prefill_using_qrcode' => '使用二维码来填写', 'use_qrcode' => [ - 'val' => '使用一个QR码', - 'title' => '使用QR码来自动填充表单', + 'val' => '使用二维码', + 'title' => '使用二维码来自动填写表单', ], 'unlock' => [ 'val' => '解锁', - 'title' => '解锁它(风险自负)', + 'title' => '解锁 (注意安全风险)', ], 'lock' => [ 'val' => '锁定', - 'title' => '将其锁定', + 'title' => '锁定', ], 'choose_image' => '上传', 'i_m_lucky' => '手气不错', - 'i_m_lucky_legend' => '"手气不错"按钮会尝试获取指定服务的官方图标。输入实际的英文服务名(不带后缀)并避免输入错误。(测试中的功能)', + 'i_m_lucky_legend' => '“手气不错” 功能可以尝试获取此服务的官方图标。若要提高成功率,请在 “服务名称” 栏中以英文输入服务名。(测试中的功能)', 'test' => '测试', + 'group' => [ + 'label' => 'Group', + 'help' => 'The group to which the account is to be assigned' + ], 'secret' => [ 'label' => '密钥', 'help' => '用于生成安全码的密钥' ], 'plain_text' => '纯文本', 'otp_type' => [ - 'label' => '选择要创建的 OTP 类型', - 'help' => '基于 时间的OTP(TOTP) 或 基于HMAC的OTP(HMAC-based OTP) 或 Steam OTP' + 'label' => '选择要创建的 OTP 令牌类型', + 'help' => 'TOTP,HOTP 或 Steam OTP' ], 'digits' => [ 'label' => '码长', - 'help' => '生成的安全码位数' + 'help' => '生成的验证码位数' ], 'algorithm' => [ 'label' => '算法', - 'help' => '用于保护您的安全代码的算法' + 'help' => '验证码的加密算法' ], 'period' => [ 'label' => '周期', - 'placeholder' => '默认为30', - 'help' => '生成的二维码的以秒为单位的有效期限' + 'placeholder' => '默认为 30', + 'help' => '验证码的有效期 (秒)' ], 'counter' => [ 'label' => '计数器', - 'placeholder' => '默认为0', - 'help' => '初始计数器值', - 'help_lock' => '编辑计数器是危险的,因为您可能使帐户与服务的验证服务器失去同步。点击锁的图标可启用更改,但只应在您知道您在做什么时使用' + 'placeholder' => '默认为 0', + 'help' => '计数器的初始值', + 'help_lock' => '如果计数器设置错误,可能会导致此验证码与账户校验失败,如果您不了解此功能,请勿随意编辑。您可以点击 “锁定” 图标来解锁编辑,但请务必小心。' ], 'image' => [ 'label' => '图像', 'placeholder' => 'http://...', - 'help' => '作为帐户图标的 URL' + 'help' => '图像 URL,用作账户图标' ], - 'options_help' => '如果您不知道如何填写,您可以将下列选项留空。将会应用最常见的设置。', + 'options_help' => '如果您不了解下列选项,请将对应选项留空来使用默认配置。', 'alternative_methods' => '备选方法', - 'spaces_are_ignored' => '不需要的空格将被自动删除' + 'spaces_are_ignored' => '无用的空格将被自动删除' ], 'stream' => [ - 'live_scan_cant_start' => '扫描无法开始 :(', + 'live_scan_cant_start' => '无法启动扫描 :(', 'need_grant_permission' => [ 'reason' => '2FAuth 没有权限访问您的相机', - 'solution' => '您需要授予权限才能使用您的设备相机。 如果您已经拒绝,且您的浏览器不会再次提示您,请参考浏览器文档以了解如何授予权限。', - 'click_camera_icon' => '它通常是通过点击浏览器地址栏中或旁边的虚线相机图标来完成的。', + 'solution' => '2FAuth 需要您的授权才能使用此设备上的相机。如果您已点击过 “拒绝”,且您的浏览器没有再次提示您进行授权,请查找浏览器的文档以了解如何重新授权。', + 'click_camera_icon' => '通常情况下,您可以点击浏览器地址栏中 (或旁边) 的相机图标来继续。', ], 'not_readable' => [ - 'reason' => '载入扫描仪失败', - 'solution' => '摄像头是否已在使用?请确保没有其他应用使用您的摄像头并重试' + 'reason' => '扫描启动失败', + 'solution' => '摄像头是否已被占用?请确保没有其他应用正在使用您的摄像头,并再试一次' ], 'no_cam_on_device' => [ 'reason' => '此设备上没有摄像头', - 'solution' => '也许你忘了插上你的摄像头' + 'solution' => '或许您忘了连接摄像头' ], 'secured_context_required' => [ - 'reason' => '需要安全上下文', - 'solution' => '实时扫描需要HTTPS。如果您从计算机运行2FAuth,请不要使用localhost以外的虚拟主机' + 'reason' => '需要 secure 字段', + 'solution' => '扫描需要通过 HTTPS 协议通信。如果您是在电脑上运行 2FAuth 实例,请不要使用除了本地外的其他虚拟主机' ], 'https_required' => '摄像机需要 HTTPS', 'camera_not_suitable' => [ - 'reason' => '已安装的摄像头不合适。', + 'reason' => '已安装的摄像头不适用', 'solution' => '请使用其他摄像头或更换设备' ], 'stream_api_not_supported' => [ 'reason' => '此浏览器不支持 Stream API', - 'solution' => '您应该使用一个现代浏览器' + 'solution' => '请换用新版浏览器' ], ], 'confirm' => [ - 'delete' => '你确定要删除这个账户吗?', - 'cancel' => '帐户将丢失。您确定吗?', - 'discard' => '您确定要放弃此账户吗?', - 'discard_all' => '您确定要放弃所有账户吗?', - 'discard_duplicates' => '您确定要放弃所有重复账户吗?', + 'delete' => '您确定要删除此账户吗?', + 'cancel' => '将放弃所有更改,确定要继续吗?', + 'discard' => '您确定要丢弃此账户吗?', + 'discard_all' => '您确定要丢弃所有账户吗?', + 'discard_duplicates' => '您确定要丢弃所有重复账户吗?', ], 'import' => [ 'import' => '导入', 'to_import' => '导入', - 'import_legend' => '2FAuth 可以从各种2FA 应用程序导入数据。
使用这些应用的导出功能来获取迁移资源(QR码或文件),并在下方加载它。', - 'import_legend_afterpart' => '使用这些应用的导出功能来获取迁移资源,例如二维码或JSON文件,然后加载它。', + 'import_legend' => '2FAuth 支持从各类 2FA 应用导入数据。', + 'import_legend_afterpart' => '使用这些应用的 “导出” 功能来获取迁移资源,例如二维码或 JSON 文件,然后在 2FAuth 中导入。', 'upload' => '上传', 'scan' => '扫描', - 'supported_formats_for_qrcode_upload' => '接受:jpg、jpeg、png、bmp、gif、svg或webp', - 'supported_formats_for_file_upload' => '接受:纯文本,json,2fas', - 'expected_format_for_direct_input' => '应为:一个 otpauth URI 的列表,一行一个', + 'supported_formats_for_qrcode_upload' => '支持格式:jpg、jpeg、png、bmp、gif、svg 或 webp', + 'supported_formats_for_file_upload' => '支持格式:json,2fas 或纯文本', + 'expected_format_for_direct_input' => '应为:一个包含 otpauth URI 的列表,每行一条', 'supported_migration_formats' => '支持的迁移格式', 'qr_code' => '二维码', 'text_file' => '文本文件', 'direct_input' => '直接输入', 'plain_text' => '纯文本', - 'parsing_data' => '正在解析数据...', - 'issuer' => '发行商', + 'parsing_data' => '正在解析数据…', + 'issuer' => '签发方', 'imported' => '已导入', 'failure' => '失败', - 'x_valid_accounts_found' => '找到 {count} 个有效账户', - 'submitted_data_parsed_now_accounts_are_awaiting_import' => '在迁移资源中找到了以下2FA账户。到目前为止,它们都没有被添加到2FAuth中。', - 'use_buttons_to_save_or_discard' => '使用可用的按钮将它们永久保存到您的两步验证集合或丢弃它们。', + 'x_valid_accounts_found' => '找到 :count 个有效账户', + 'submitted_data_parsed_now_accounts_are_awaiting_import' => '在导入的数据中找到了下列 2FA 账户,且没有被添加到 2FAuth 过。', + 'use_buttons_to_save_or_discard' => '点击亮起的按钮,即可选择丢弃这些账户,或将其保存到您的 2FA 列表中。', 'import_all' => '全部导入', 'import_this_account' => '导入此账户', 'discard_all' => '全部丢弃', 'discard_duplicates' => '丢弃重复项', - 'discard_this_account' => '丢弃此帐户', - 'generate_a_test_password' => '生成一个测试密码', - 'possible_duplicate' => '完全相同的帐户已经存在', + 'discard_this_account' => '丢弃此账户', + 'generate_a_test_password' => '生成测试密码', + 'possible_duplicate' => '已存在相同数据的账户', 'invalid_account' => '- 无效账户 -', 'invalid_service' => '- 无效服务 -', - 'do_not_set_password_or_encryption' => '当您想要导入到2FAuth时不要启用密码保护或加密。', + 'do_not_set_password_or_encryption' => '如果您需要从其他 2FA 应用导出数据到 2FAuth,请务必在导出前关闭加密保护,否则 2FAuth 将无法解密数据。', ], ]; \ No newline at end of file diff --git a/resources/lang/zh/validation.php b/resources/lang/zh/validation.php index 53b9fe8d..662e0527 100644 --- a/resources/lang/zh/validation.php +++ b/resources/lang/zh/validation.php @@ -14,12 +14,12 @@ */ 'accepted' => '您必须接受 :attribute。', - 'accepted_if' => ':attribute 只有在 :other 为 :value 时才有效', + 'accepted_if' => '当 :other 为 :value 时,必须允许 :attribute 。', 'active_url' => ':attribute 不是一个有效的网址。', 'after' => ':attribute 必须要晚于 :date。', 'after_or_equal' => ':attribute 必须要等于 :date 或更晚。', 'alpha' => ':attribute 只能包含字母。', - 'alpha_dash' => ':attribute 只能包含字母、 数字、 破折号和下划线', + 'alpha_dash' => ':attribute 只能包含字母、 数字、减号和下划线。', 'alpha_num' => ':attribute 只能包含字母和数字', 'array' => ':attribute 必须是一个数组。', 'before' => ':attribute 必须要早于 :date。', @@ -36,18 +36,18 @@ 'date' => ':attribute 不是一个有效的日期。', 'date_equals' => ':attribute 必须要等于 :date。', 'date_format' => ':attribute 的格式必须为 :format。', - 'declined' => '您必须同意 :attribute.', - 'declined_if' => ':attribute 在 :other 是 :value 时无效.', + 'declined' => '必须拒绝 :attribute. ', + 'declined_if' => '当 :other 是 :value 时,:attribute 必须被拒绝.', 'different' => ':attribute 和 :other 必须不同。', 'digits' => ':attribute 必须是 :digits 位数字。', 'digits_between' => ':attribute 必须是介于 :min 和 :max 位的数字。', 'dimensions' => ':attribute 图片尺寸不正确。', 'distinct' => ':attribute 已经存在。', - 'doesnt_end_with' => ':attribute 不能以下列的值结尾: :values。', - 'doesnt_start_with' => ':attribute 不能以下列的值开头: :values。', + 'doesnt_end_with' => ':attribute 不能以这些值结尾::values。', + 'doesnt_start_with' => ':attribute 不能以这些值开头::values。', 'email' => ':attribute 不是一个合法的邮箱。', 'ends_with' => ':attribute 必须以 :values 为结尾。', - 'enum' => '已选的属性 :attribute 无效。', + 'enum' => '选中的 :attribute 无效。', 'exists' => ':attribute 不存在。', 'file' => ':attribute 必须是文件。', 'filled' => ':attribute 不能为空。', @@ -59,7 +59,7 @@ ], 'gte' => [ 'array' => ':attribute 必须多于或等于 :value 个元素。', - 'file' => ':attribute 必须大于或等于 :value kB。', + 'file' => ':attribute 必须大于或等于 :value KB。', 'numeric' => ':attribute 必须大于或等于 :value。', 'string' => ':attribute 必须大于或等于 :value 个字符。', ], @@ -67,10 +67,10 @@ 'in' => '已选的属性 :attribute 无效。', 'in_array' => ':attribute 必须在 :other 中。', 'integer' => ':attribute 必须是整数。', - 'ip' => ':attribute 必须是有效的 IP 地址。', - 'ipv4' => ':attribute 必须是有效的 IPv4 地址。', - 'ipv6' => ':attribute 必须是有效的 IPv6 地址。', - 'json' => ':attribute 必须是正确的 JSON 格式。', + 'ip' => ':attribute 必须是正确的 IP 地址。', + 'ipv4' => ':attribute 必须是正确的 IPv4 地址。', + 'ipv6' => ':attribute 必须是正确的 IPv6 地址。', + 'json' => ':attribute 必须是正确的 JSON 字符串。', 'lt' => [ 'array' => ':attribute 必须少于 :value 个元素。', 'file' => ':attribute 必须小于 :value KB。', @@ -79,18 +79,18 @@ ], 'lte' => [ 'array' => ':attribute 必须少于或等于 :value 个元素。', - 'file' => ':attribute 必须小于或等于 :value kB。', + 'file' => ':attribute 必须小于或等于 :value KB。', 'numeric' => ':attribute 必须小于或等于 :value。', 'string' => ':attribute 必须小于或等于 :value 个字符。', ], - 'mac_address' => ':attribute 必须是一个有效的 MAC 地址。', + 'mac_address' => ':attribute 必须是正确的 MAC 地址。', 'max' => [ - 'array' => ':attribute 必须少于或等于 :value 个元素。', - 'file' => ':attribute 不能大于 :value kB。', - 'numeric' => ':attribute 不能大于 :max。', - 'string' => ':attribute 不能大于 :max 个字符。', + 'array' => ':attribute 必须少于 :max 项。', + 'file' => ':attribute 必须小于 :max KB。', + 'numeric' => ':attribute 必须小于 :max。', + 'string' => ':attribute 必须少于 :max 个字符。', ], - 'max_digits' => ':attribute 不能超过 :max 位数。', + 'max_digits' => ':attribute 必须少于 :max 位。', 'mimes' => ':attribute 必须是一个 :values 类型的文件。', 'mimetypes' => ':attribute 必须是一个 :values 类型的文件。', 'min' => [ @@ -99,8 +99,8 @@ 'numeric' => ':attribute 必须大于等于 :min。', 'string' => ':attribute 至少为 :min 个字符。', ], - 'min_digits' => ':attribute 至少要有 :min 位数。', - 'multiple_of' => ':attribute 必须是 :value 的倍数', + 'min_digits' => ':attribute 必须多于 :min 位。', + 'multiple_of' => ':attribute 必须是 :value 的倍数。', 'not_in' => '已选的属性 :attribute 非法。', 'not_regex' => ':attribute 的格式错误。', 'numeric' => ':attribute 必须是一个数字。', @@ -109,16 +109,16 @@ 'mixed' => ':attribute 至少要包含一个大写字母和一个小写字母。', 'numbers' => ':attribute 至少要包含一个数字。', 'symbols' => ':attribute 至少要包含一个符号。', - 'uncompromised' => '在数据泄漏中检测到已输入的 :attribute。请选择一个不同的 :attribute 。', + 'uncompromised' => '输入的 :attribute 已在数据泄露中出现过。请选择其他的 :attribute。', ], 'present' => ':attribute 必须存在。', - 'prohibited' => ':attribute 字段是禁止的.', - 'prohibited_if' => '当 :other 为 :value 时, :attribute 字段被禁止', - 'prohibited_unless' => '除非 :other 为 :values,否则 :attribute 字段是禁止的', - 'prohibits' => ':attribute 字段禁止出现 ":other"', + 'prohibited' => '已禁止 :attribute 字段。', + 'prohibited_if' => '当 :other 为 :value 时,:attribute 字段被禁止。', + 'prohibited_unless' => '除非 :other 为 :values,否则 :attribute 字段会被禁止。', + 'prohibits' => ':attribute 字段禁止出现 :other。', 'regex' => ':attribute 格式不正确。', 'required' => ':attribute 不能为空。', - 'required_array_keys' => ':attribute 字段必须包含: :values', + 'required_array_keys' => ':attribute 字段必须包含: :values。', 'required_if' => '当 :other 为 :value 时 :attribute 不能为空。', 'required_if_accepted' => '当 :other 存在时,:attribute 不能为空。', 'required_unless' => '当 :other 不为 :values 时 :attribute 不能为空。', @@ -138,11 +138,12 @@ 'timezone' => ':attribute 必须是一个有效的时区。', 'unique' => ':attribute 已经存在。', 'uploaded' => ':attribute 上传失败。', - 'url' => ':attribute 必须是有效的URL。', + 'url' => ':attribute 必须是有效的 URL。', 'uuid' => ':attribute 必须是有效的 UUID。', - 'single' => '当使用 :attribute 时,它必须是此请求主体中的唯一参数', - 'onlyCustomOtpWithUri' => '"uri"参数仅应单独提供,或与"custom_otp"参数结合提供', + 'single' => '当使用 :attribute 时,请求的数据包中只能包含这一种参数。', + 'onlyCustomOtpWithUri' => '“uri” 参数必须单独提供,或与 “custom_otp” 参数同时提供。', + 'IsValidRegex' => 'The :attribute must be a valid regex pattern.', /* |-------------------------------------------------------------------------- @@ -157,24 +158,24 @@ 'custom' => [ 'icon' => [ - 'image' => '支持的格式是 jpeg、png、bmp、gif、svg或web。', + 'image' => '仅支持 jpeg、png、bmp、gif、svg 或 webp 格式。', ], 'qrcode' => [ - 'image' => '支持的格式是 jpeg、png、bmp、gif、svg或web。', + 'image' => '仅支持 jpeg、png、bmp、gif、svg 或 webp 格式。', ], 'uri' => [ - 'regex' => ':attribute 不是有效的 otpauth uri', + 'regex' => ':attribute 不是有效的 otpauth uri。', ], 'otp_type' => [ - 'in' => ':attribute 不受支持', + 'in' => '不支持 :attribute。', ], 'email' => [ - 'exists' => '未找到使用此电子邮件的账户。', - 'ComplyWithEmailRestrictionPolicy' => '此电子邮件地址不符合注册策略', - 'IsValidEmailList' => '所有电子邮件必须是有效的并用管道符隔开' + 'exists' => '未找到与此邮箱匹配的账户。', + 'ComplyWithEmailRestrictionPolicy' => '此邮箱地址不允许注册', + 'IsValidEmailList' => '所有邮箱地址必须是有效的,并用管道符隔开' ], 'secret' => [ - 'isBase32Encoded' => ':attribute 必须是 base32 编码的字符串', + 'isBase32Encoded' => ':attribute 必须是 Base32 编码的字符串。', ], 'account' => [ 'regex' => ':attribute 不能包含冒号。', @@ -183,11 +184,11 @@ 'regex' => ':attribute 不能包含冒号。', ], 'label' => [ - 'required' => 'uri 必须有一个标签。', + 'required' => '必须未 url 分配一个标签。', ], 'ids' => [ - 'regex' => 'ID必须以逗号分隔,无需尾随逗号。', - ] + 'regex' => 'ID 必须以逗号分隔,且不能以逗号结尾。', + ], ], /*