From 95b5a6158bc1b6d554e3e7262f03bff8959783c0 Mon Sep 17 00:00:00 2001 From: Bubka <858858+Bubka@users.noreply.github.com> Date: Thu, 27 Mar 2025 13:39:39 +0100 Subject: [PATCH] Update translations --- resources/lang/ar/admin.php | 66 ++++---- resources/lang/ar/commons.php | 1 + resources/lang/ar/errors.php | 2 + resources/lang/ar/settings.php | 17 ++- resources/lang/ar/twofaccounts.php | 2 +- resources/lang/bg/commons.php | 1 + resources/lang/bg/errors.php | 2 + resources/lang/bg/settings.php | 17 ++- resources/lang/bg/twofaccounts.php | 2 +- resources/lang/da/commons.php | 1 + resources/lang/da/errors.php | 2 + resources/lang/da/settings.php | 17 ++- resources/lang/da/twofaccounts.php | 2 +- resources/lang/de/commons.php | 1 + resources/lang/de/errors.php | 2 + resources/lang/de/settings.php | 17 ++- resources/lang/de/twofaccounts.php | 2 +- resources/lang/es/commons.php | 1 + resources/lang/es/errors.php | 2 + resources/lang/es/settings.php | 17 ++- resources/lang/es/twofaccounts.php | 2 +- resources/lang/hi/commons.php | 1 + resources/lang/hi/errors.php | 2 + resources/lang/hi/settings.php | 17 ++- resources/lang/hi/twofaccounts.php | 2 +- resources/lang/id/commons.php | 1 + resources/lang/id/errors.php | 2 + resources/lang/id/settings.php | 17 ++- resources/lang/id/twofaccounts.php | 2 +- resources/lang/it/admin.php | 122 +++++++-------- resources/lang/it/auth.php | 28 ++-- resources/lang/it/commons.php | 25 +-- resources/lang/it/errors.php | 38 ++--- resources/lang/it/groups.php | 40 ++--- resources/lang/it/languages.php | 16 +- resources/lang/it/notifications.php | 2 +- resources/lang/it/settings.php | 153 ++++++++++--------- resources/lang/it/titles.php | 58 +++---- resources/lang/it/twofaccounts.php | 96 ++++++------ resources/lang/ja/commons.php | 1 + resources/lang/ja/errors.php | 2 + resources/lang/ja/settings.php | 17 ++- resources/lang/ja/twofaccounts.php | 2 +- resources/lang/ko/admin.php | 26 ++-- resources/lang/ko/auth.php | 22 +-- resources/lang/ko/commons.php | 1 + resources/lang/ko/errors.php | 8 +- resources/lang/ko/settings.php | 23 +-- resources/lang/ko/twofaccounts.php | 22 +-- resources/lang/ko/validation.php | 40 ++--- resources/lang/nl/commons.php | 1 + resources/lang/nl/errors.php | 2 + resources/lang/nl/settings.php | 17 ++- resources/lang/nl/twofaccounts.php | 2 +- resources/lang/pl/admin.php | 10 +- resources/lang/pl/auth.php | 6 +- resources/lang/pl/commons.php | 7 +- resources/lang/pl/errors.php | 4 +- resources/lang/pl/groups.php | 2 +- resources/lang/pl/languages.php | 4 +- resources/lang/pl/notifications.php | 6 +- resources/lang/pl/pagination.php | 4 +- resources/lang/pl/passwords.php | 2 +- resources/lang/pl/settings.php | 21 ++- resources/lang/pl/titles.php | 10 +- resources/lang/pl/twofaccounts.php | 12 +- resources/lang/pl/validation.php | 10 +- resources/lang/pt/commons.php | 1 + resources/lang/pt/errors.php | 2 + resources/lang/pt/settings.php | 17 ++- resources/lang/pt/twofaccounts.php | 2 +- resources/lang/ro/commons.php | 1 + resources/lang/ro/errors.php | 2 + resources/lang/ro/settings.php | 17 ++- resources/lang/ro/twofaccounts.php | 2 +- resources/lang/ru/admin.php | 2 +- resources/lang/ru/commons.php | 1 + resources/lang/ru/errors.php | 2 + resources/lang/ru/settings.php | 23 +-- resources/lang/ru/twofaccounts.php | 20 +-- resources/lang/ru/validation.php | 2 +- resources/lang/tr/admin.php | 36 ++--- resources/lang/tr/auth.php | 22 +-- resources/lang/tr/commons.php | 7 +- resources/lang/tr/errors.php | 8 +- resources/lang/tr/notifications.php | 4 +- resources/lang/tr/settings.php | 53 ++++--- resources/lang/tr/twofaccounts.php | 28 ++-- resources/lang/tr/validation.php | 40 ++--- resources/lang/uk/admin.php | 148 ++++++++++++++++++ resources/lang/uk/auth.php | 142 +++++++++++++++++ resources/lang/uk/commons.php | 95 ++++++++++++ resources/lang/uk/errors.php | 79 ++++++++++ resources/lang/uk/groups.php | 41 +++++ resources/lang/uk/languages.php | 24 +++ resources/lang/uk/notifications.php | 36 +++++ resources/lang/uk/pagination.php | 19 +++ resources/lang/uk/passwords.php | 26 ++++ resources/lang/uk/settings.php | 193 +++++++++++++++++++++++ resources/lang/uk/titles.php | 58 +++++++ resources/lang/uk/twofaccounts.php | 182 ++++++++++++++++++++++ resources/lang/uk/validation.php | 227 ++++++++++++++++++++++++++++ resources/lang/zh/admin.php | 31 ++-- resources/lang/zh/auth.php | 20 +-- resources/lang/zh/commons.php | 9 +- resources/lang/zh/errors.php | 6 +- resources/lang/zh/groups.php | 12 +- resources/lang/zh/notifications.php | 10 +- resources/lang/zh/settings.php | 67 ++++---- resources/lang/zh/titles.php | 6 +- resources/lang/zh/twofaccounts.php | 60 ++++---- resources/lang/zh/validation.php | 12 +- 112 files changed, 2142 insertions(+), 735 deletions(-) create mode 100644 resources/lang/uk/admin.php create mode 100644 resources/lang/uk/auth.php create mode 100644 resources/lang/uk/commons.php create mode 100644 resources/lang/uk/errors.php create mode 100644 resources/lang/uk/groups.php create mode 100644 resources/lang/uk/languages.php create mode 100644 resources/lang/uk/notifications.php create mode 100644 resources/lang/uk/pagination.php create mode 100644 resources/lang/uk/passwords.php create mode 100644 resources/lang/uk/settings.php create mode 100644 resources/lang/uk/titles.php create mode 100644 resources/lang/uk/twofaccounts.php create mode 100644 resources/lang/uk/validation.php diff --git a/resources/lang/ar/admin.php b/resources/lang/ar/admin.php index 584e5cbb..37e1eb75 100644 --- a/resources/lang/ar/admin.php +++ b/resources/lang/ar/admin.php @@ -13,43 +13,43 @@ return [ | */ - 'admin' => 'Admin', - 'admin_panel' => 'Admin panel', - 'app_setup' => 'App setup', - 'auth' => 'Auth', - 'registrations' => 'Registrations', - 'users' => 'Users', + 'admin' => 'مدير', + 'admin_panel' => 'لوحة الإدارة', + 'app_setup' => 'إعداد التطبيق', + 'auth' => 'المصادقة', + 'registrations' => 'التسجيلات', + '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_settings' => 'إعدادات المدير', + 'create_new_user' => 'أنشئ مستخدمًا', + 'new_user' => 'مستخدم جديد', + 'search_user_placeholder' => 'اسم المستخدم، البريد الإلكتروني...', + 'quick_filters_colons' => 'فلاتر السريعة:', + 'user_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?' + 'delete_user' => 'هل أنت متيقِّن من أنك تريد حذف هذا المستخدم؟ لا يوجد أي رجعة.', + 'request_password_reset' => 'هل أنت متيقِّن من أنك تريد إعادة تعيين كلمة مرور هذا المستخدم؟', + 'purge_password_reset_request' => 'هل أنت متيقِّن من أنك تريد إلغاء الطلب السابق؟', + 'delete_account' => 'هل أنت متيقِّن من أنك تريد حذف هذا المستخدم ؟', + 'edit_own_account' => 'هذا هو حسابك الخاص. هل أنت متيقِّن؟', + 'change_admin_role' => 'سيكون لهذا تأثيرات خطيرة على أذونات هذا المستخدم. هل أنت متيقِّن؟', + 'demote_own_account' => 'لن تكون بعد الآن مديرا. هل أنت متيقِّن؟' ], - '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' => 'السجلات', + 'administration_legend' => 'الإعدادات التالية هي شاملة وتنطبق على جميع المستخدمين.', + 'user_management' => 'إدارة المستخدم', + 'oauth_provider' => 'مُزود OAuth', + 'account_bound_to_x_via_oauth' => 'هذا الحساب مرتبط بحساب :provider عبر OAuth', + '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' => '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', + 'password_request_expired' => 'يوجد طلب إعادة تعيين كلمة المرور لهذا المستخدم ولكن انتهت صلاحيته، بمعنى أن المستخدم لم يغير كلمة المرور الخاصة به في الوقت المناسب. قد يكون هذا طلباً من المستخدم نفسه أو من أحد المسؤولين.', + 'resend_email' => 'إعادة إرسال البريد الإلكتروني', + 'resend_email_title' => 'إعادة إرسال بريد إلكتروني لإعادة تعيين كلمة المرور للمستخدم', + '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 the user\'s password', 'password_successfully_reset' => 'Password successfully reset', diff --git a/resources/lang/ar/commons.php b/resources/lang/ar/commons.php index 17c0c45e..7e92efdb 100644 --- a/resources/lang/ar/commons.php +++ b/resources/lang/ar/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/ar/errors.php b/resources/lang/ar/errors.php index 29c6ffc6..3aa6e35b 100644 --- a/resources/lang/ar/errors.php +++ b/resources/lang/ar/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/ar/settings.php b/resources/lang/ar/settings.php index 811c4b41..cfd80cb8 100644 --- a/resources/lang/ar/settings.php +++ b/resources/lang/ar/settings.php @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Edit settings', 'setting_saved' => 'Settings saved', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' ], 'close_otp_on_copy' => [ - 'label' => 'Close OTP after copy', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => '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' => [ diff --git a/resources/lang/ar/twofaccounts.php b/resources/lang/ar/twofaccounts.php index 2ab204dc..37ca1029 100644 --- a/resources/lang/ar/twofaccounts.php +++ b/resources/lang/ar/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Plain text', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' ], 'digits' => [ diff --git a/resources/lang/bg/commons.php b/resources/lang/bg/commons.php index 5056f07c..056d511e 100644 --- a/resources/lang/bg/commons.php +++ b/resources/lang/bg/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/bg/errors.php b/resources/lang/bg/errors.php index a4063a13..cbf641cf 100644 --- a/resources/lang/bg/errors.php +++ b/resources/lang/bg/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/bg/settings.php b/resources/lang/bg/settings.php index 0ef45220..68943b9d 100644 --- a/resources/lang/bg/settings.php +++ b/resources/lang/bg/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Уверете се, че сте копирали вашия личен токен за достъп. Няма да можете да го видите отново!', 'data_input' => 'Въвеждане на данни', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Редактиране на настройките', 'setting_saved' => 'Настройките са запазени', @@ -58,19 +59,23 @@ return [ 'help' => 'The time zone applied to all dates and times displayed in the application' ], 'show_otp_as_dot' => [ - 'label' => 'Показване на генерираните еднократни пароли като точка', - 'help' => 'Заменете генерираните знаци за парола с ***, за да осигурите поверителност. Не засягайте функцията за копиране/поставяне' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' ], 'close_otp_on_copy' => [ - 'label' => 'Затворете OTP след копиране', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => 'Копирайте OTP при показване', + 'label' => 'Copy OTP on display', 'help' => 'Автоматично копиране на генерирана парола веднага след като се появи на екрана. Поради ограниченията на браузърите само първата TOTP парола ще бъде копирана, а не ротационните' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/bg/twofaccounts.php b/resources/lang/bg/twofaccounts.php index afe3225d..6fa5bb5a 100644 --- a/resources/lang/bg/twofaccounts.php +++ b/resources/lang/bg/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Чист текст', 'otp_type' => [ - 'label' => 'Изберете типа на OTP за създаване', + 'label' => 'Choose the type of OTP to create', 'help' => 'Временен OTP или HMAC базиран OTP или Steam OTP' ], 'digits' => [ diff --git a/resources/lang/da/commons.php b/resources/lang/da/commons.php index ba11f202..9ff5ceb0 100644 --- a/resources/lang/da/commons.php +++ b/resources/lang/da/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 md.', 'x_month' => ':x mdr.', 'one_year' => '1 år.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/da/errors.php b/resources/lang/da/errors.php index 4e454c9b..4881e82f 100644 --- a/resources/lang/da/errors.php +++ b/resources/lang/da/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR-kode har ugyldig checksum', 'no_readable_qrcode' => 'Ingen læsbar QR-kode', 'failed_icon_store_database_toggling' => 'Migration af ikoner mislykkedes. Indstillingen er blevet gendannet til dens tidligere værdi.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/da/settings.php b/resources/lang/da/settings.php index d0009a8a..e5341284 100644 --- a/resources/lang/da/settings.php +++ b/resources/lang/da/settings.php @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Edit settings', 'setting_saved' => 'Indstillingerne er gemt!', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Lad muligheden for midlertidigt at afsløre Dot-Obscured adgangskoder' ], 'close_otp_on_copy' => [ - 'label' => 'Luk OTP efter kopi', + 'label' => 'Close OTP after copy', 'help' => 'Klik på en genereret adgangskode for at kopiere den automatisk skjuler den fra skærmen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => 'Kopier OTP på skærmen', + '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' => [ diff --git a/resources/lang/da/twofaccounts.php b/resources/lang/da/twofaccounts.php index 5ab2e8b3..cd014ac5 100644 --- a/resources/lang/da/twofaccounts.php +++ b/resources/lang/da/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Plain text', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' ], 'digits' => [ diff --git a/resources/lang/de/commons.php b/resources/lang/de/commons.php index 5e19743e..61639ad7 100644 --- a/resources/lang/de/commons.php +++ b/resources/lang/de/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 Mon.', 'x_month' => ':x Mon.', 'one_year' => '1 J.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/de/errors.php b/resources/lang/de/errors.php index 08e7684f..cba12b56 100644 --- a/resources/lang/de/errors.php +++ b/resources/lang/de/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR-Code hat eine ungültige Prüfsumme', 'no_readable_qrcode' => 'Kein lesbarer QR-Code', 'failed_icon_store_database_toggling' => 'Migration von Symbolen fehlgeschlagen. Die Einstellung wurde auf ihren vorherigen Wert zurückgesetzt.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php index b582922a..0de02f4e 100644 --- a/resources/lang/de/settings.php +++ b/resources/lang/de/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Kopieren Sie Ihren persönlichen Zugangs-Token jetzt. Sie werden ihn nicht mehr sehen können!', 'data_input' => 'Daten-Eingabe', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Einstellungen bearbeiten', 'setting_saved' => 'Einstellungen gespeichert', @@ -58,19 +59,23 @@ return [ 'help' => 'Die Zeitzone wird auf alle in der Anwendung angezeigten Daten und Zeiten angewendet' ], 'show_otp_as_dot' => [ - 'label' => 'Erzeugte OTP als Punkt anzeigen', - 'help' => 'Passwortzeichen werden als *** angezeigt, um die Vertraulichkeit zu gewährleisten. Dies beeinflusst nicht die Kopieren/Einfügen-Funktion' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Verdecktes OTP aufdecken', + 'label' => 'Reveal obscured OTP', 'help' => 'Die Fähigkeit Punkt-verdeckte Passwörter temporär freigeben' ], 'close_otp_on_copy' => [ - 'label' => 'OTP nach dem Kopieren schließen', + 'label' => 'Close OTP after copy', 'help' => 'Bei einem Klick auf das erzeugte Passwort wird es automatisch auf dem Bildschirm ausgeblendet' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'OTP automatisch schließen', + 'label' => 'Auto close OTP', 'help' => 'Passwort automatisch nach einem Timeout auf dem Bildschirm ausblenden. Dies vermeidet unnötige Anfragen nach neuen Passwörtern, wenn Sie die Passwortansicht nicht schließen.' ], 'clear_search_on_copy' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'Erzwingt bei Aufruf der Funktion Sortieren die Sortierung der Konten unter Berücksichtigung der Groß- und Kleinschreibung' ], 'copy_otp_on_display' => [ - 'label' => 'OTP auf Anzeige kopieren', + 'label' => 'Copy OTP on display', 'help' => 'Kopiert automatisch ein generiertes Passwort bei Anzeige auf dem Bildschirm. Aufgrund der Einschränkungen des Browsers, wird nur das erste TOTP Passwort kopiert, nicht das rotierende Passwort' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/de/twofaccounts.php b/resources/lang/de/twofaccounts.php index 30380be3..38893adc 100644 --- a/resources/lang/de/twofaccounts.php +++ b/resources/lang/de/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Klartext', 'otp_type' => [ - 'label' => 'Wählen Sie den OTP Typ', + 'label' => 'Choose the type of OTP to create', 'help' => 'Zeitbasierte OTP oder HMAC-basierte OTP oder Steam OTP' ], 'digits' => [ diff --git a/resources/lang/es/commons.php b/resources/lang/es/commons.php index b1935147..ea90c1b1 100644 --- a/resources/lang/es/commons.php +++ b/resources/lang/es/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/es/errors.php b/resources/lang/es/errors.php index e4b89e16..d8d6736b 100644 --- a/resources/lang/es/errors.php +++ b/resources/lang/es/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/es/settings.php b/resources/lang/es/settings.php index a1e961dd..0ca367f0 100644 --- a/resources/lang/es/settings.php +++ b/resources/lang/es/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Asegúrese de copiar su token de acceso personal ahora. ¡No podrá volver a verlo!', 'data_input' => 'Introducción de datos', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Modificar ajustes', 'setting_saved' => 'Ajustes guardados', @@ -58,19 +59,23 @@ return [ 'help' => 'The time zone applied to all dates and times displayed in the application' ], 'show_otp_as_dot' => [ - 'label' => 'Mostrar contraseñas generadas de un solo uso como punto', - 'help' => 'Reemplaza carácteres de contraseñas generados con *** para asegurar confidencialidad. No afecta la función copiar/pegar.' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Muestra el OTP oculto', + 'label' => 'Reveal obscured OTP', 'help' => 'Activa la capacidad de revelar temporalmente las contraseñas ocultas' ], 'close_otp_on_copy' => [ - 'label' => 'Cerrar OTP después de copiar', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => 'Copiar OTP en pantalla', + 'label' => 'Copy OTP on display', 'help' => 'Copiar automáticamente la contraseña justo después de aparecer en pantalla. Debido a limitaciones en los navegadores, solo la primera contraseña TOTP será copiada, no las que roten' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/es/twofaccounts.php b/resources/lang/es/twofaccounts.php index 5e7ec9a6..202d0f2d 100644 --- a/resources/lang/es/twofaccounts.php +++ b/resources/lang/es/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Texto plano', 'otp_type' => [ - 'label' => 'Elige el tipo de OTP a crear', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP, HMAC-based OTP o Steam OTP' ], 'digits' => [ diff --git a/resources/lang/hi/commons.php b/resources/lang/hi/commons.php index 210825cb..76144889 100644 --- a/resources/lang/hi/commons.php +++ b/resources/lang/hi/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 मास', 'x_month' => ':x मास', 'one_year' => '1 वर्ष', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/hi/errors.php b/resources/lang/hi/errors.php index f146aca6..6beb30e0 100644 --- a/resources/lang/hi/errors.php +++ b/resources/lang/hi/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR Code का चेकसम अमान्य है', 'no_readable_qrcode' => 'कोई QR Code पाठ्य नहीं है', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/hi/settings.php b/resources/lang/hi/settings.php index 560c789a..7bd52137 100644 --- a/resources/lang/hi/settings.php +++ b/resources/lang/hi/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'अपने नए व्यक्तिगत एक्सेस टोकन को अभी कॉपी करना सुनिश्चित करें। आप इसे दोबारा नहीं देख पाएंगे!', 'data_input' => 'डेटा इनपुट', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'सेटिंग्स बदलें', 'setting_saved' => 'सेटिंग्स सेव हो गयी', @@ -58,19 +59,23 @@ return [ 'help' => 'एप में दिखाए गए सभी समय और तारीखों पर यह टाइम ज़ोन लागू होगा' ], 'show_otp_as_dot' => [ - 'label' => 'जनरेट किए गए OTP को डॉट के रूप में दिखाएं', - 'help' => 'गोपनीयता सुनिश्चित करने के लिए जनरेट किए गए पासवर्ड वर्णों को *** से बदलें। कॉपी/पेस्ट सुविधा को प्रभावित न करें' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'अस्पष्ट OTP को प्रकट करें', + 'label' => 'Reveal obscured OTP', 'help' => 'डॉट-ऑब्स्क्योर्ड पासवर्ड को अस्थायी रूप से प्रकट करने की क्षमता दें' ], 'close_otp_on_copy' => [ - 'label' => 'कॉपी करने के बाद OTP बंद करें', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => 'डिस्प्ले पर OTP कॉपी करें', + 'label' => 'Copy OTP on display', 'help' => 'जनरेट किया गया पासवर्ड स्क्रीन पर दिखाई देने के तुरंत बाद स्वचालित रूप से कॉपी हो जाता है। ब्राउज़र की सीमाओं के कारण, बदलने वाले पासवर्ड नहीं, केवल पहला TOTP पासवर्ड कॉपी किया जाएगा' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/hi/twofaccounts.php b/resources/lang/hi/twofaccounts.php index 54aaff43..3714b0ea 100644 --- a/resources/lang/hi/twofaccounts.php +++ b/resources/lang/hi/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'साधारण टेक्स्ट', 'otp_type' => [ - 'label' => 'बनाने के लिए OTP का प्रकार चुनें', + 'label' => 'Choose the type of OTP to create', 'help' => 'समय-आधारित OTP या HMAC-आधारित OTP या स्टीम OTP' ], 'digits' => [ diff --git a/resources/lang/id/commons.php b/resources/lang/id/commons.php index 17c0c45e..7e92efdb 100644 --- a/resources/lang/id/commons.php +++ b/resources/lang/id/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/id/errors.php b/resources/lang/id/errors.php index 32998391..f037158f 100644 --- a/resources/lang/id/errors.php +++ b/resources/lang/id/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/id/settings.php b/resources/lang/id/settings.php index 811c4b41..cfd80cb8 100644 --- a/resources/lang/id/settings.php +++ b/resources/lang/id/settings.php @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Edit settings', 'setting_saved' => 'Settings saved', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' ], 'close_otp_on_copy' => [ - 'label' => 'Close OTP after copy', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => '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' => [ diff --git a/resources/lang/id/twofaccounts.php b/resources/lang/id/twofaccounts.php index 3f9f9a30..313c4041 100644 --- a/resources/lang/id/twofaccounts.php +++ b/resources/lang/id/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Plain text', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' ], 'digits' => [ diff --git a/resources/lang/it/admin.php b/resources/lang/it/admin.php index bff4f390..4c65cb0a 100644 --- a/resources/lang/it/admin.php +++ b/resources/lang/it/admin.php @@ -13,69 +13,69 @@ return [ | */ - 'admin' => 'Admin', - 'admin_panel' => 'Admin panel', - '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', + 'admin' => 'Amministratore', + 'admin_panel' => 'Pannello amministratore', + 'app_setup' => 'Impostazioni App', + 'auth' => 'Autenticazione', + 'registrations' => 'Registrazioni', + 'users' => 'Utenti', + 'users_legend' => 'Gestisci gli utenti registrati nella tua istanza o creane nuovi.', + 'admin_settings' => 'Impostazioni amministratore', + 'create_new_user' => 'Creare un utente', + 'new_user' => 'Nuovo utente', + 'search_user_placeholder' => 'Nome utente, email...', + 'quick_filters_colons' => 'Filtri rapidi', + 'user_created' => 'utente creato con successo', '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' => 'Sei sicuro di voler eliminare questo utente? Non è possibile annulare.', + 'request_password_reset' => 'Sei sicuro di voler reimpostare la password dell\'utente?', + 'purge_password_reset_request' => 'Sei sicuro di voler eliminare questo dispositivo?', + 'delete_account' => 'Sei sicuro che vuoi cancellare quest\'utente?', + 'edit_own_account' => 'Questo è il tuo account. Sei sicuro?', + 'change_admin_role' => 'Questo avrà gravi ripercussioni sui permessi di questo utente. Sei sicuro?', + 'demote_own_account' => 'Non sarai più un amministratore. Sei sicuro?' ], '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', + 'administration_legend' => 'Le seguenti impostazioni sono globali e si applicano a tutti gli utenti.', + 'user_management' => 'Gestione utenti', + 'oauth_provider' => 'Provider OAuth', + 'account_bound_to_x_via_oauth' => 'Questo account è associato a un account :provider tramite OAuth', + 'last_seen_on_date' => 'Ultimo accesso :date', + 'registered_on_date' => 'Registrato :date', + 'updated_on_date' => 'Aggiornato :date', 'access' => 'Accesso', 'password_requested_on_t' => '.', - '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', + 'password_request_expired' => 'Esiste una richiesta di reimpostazione della password per questo utente ma è scaduta, il che significa che l\'utente non ha cambiato la sua password in tempo. Questa può essere una richiesta da parte dell\'utente stesso o da un amministratore.', + 'resend_email' => 'Reinvia email', + 'resend_email_title' => 'Reinvia una email di reimpostazione password all\'utente', + 'resend_email_help' => 'Usa Reinvia email per inviare una nuova email di reimpostazione della password all\'utente in modo che possa impostare una nuova password. Questo lascerà la sua password attuale come è e ogni richiesta precedente verrà revocata.', + 'reset_password' => 'Reimposta password', + 'reset_password_help' => 'Usa Reimposta password per forzare il reset della password (questo imposterà una password temporanea) prima di inviare una email di reimpostazione della password all\'utente in modo che possa impostare una nuova password. Qualsiasi richiesta precedente sarà revocata.', + 'reset_password_title' => 'Reimposta la password dell\'utente', + 'password_successfully_reset' => 'Password reimpostata con successo', + 'user_has_x_active_pat' => ':count token attivi', + 'user_has_x_security_devices' => ':count dispositivi di sicurezza (passkeys)', + 'revoke_all_pat_for_user' => 'Revoca tutti i token dell\'utente', + 'revoke_all_devices_for_user' => 'Revoca tutti i dispositivi di sicurezza dell\'utente', + 'danger_zone' => 'Zona Pericolosa', + 'delete_this_user_legend' => 'L\'account utente verrà eliminato così come tutti i suoi dati 2FA.', + 'this_is_not_soft_delete' => 'Questa non è una cancellazione morbida, non è possibile annullare.', + 'delete_this_user' => 'Eliminare questo utente', + 'user_role_updated' => 'Ruolo dell\'utente aggiornato', + 'pats_succesfully_revoked' => 'Pat dell\'utente revocati con successo', + 'security_devices_succesfully_revoked' => 'Dispositivi di sicurezza dell\'utente revocati con successo', + 'variables' => 'Variabili', + 'cache_cleared' => 'Cache cancellata', + 'cache_optimized' => 'Cache ottimizzata', + 'check_now' => 'Controlla ora', + 'view_on_github' => 'Vedi su 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', + 'last_accesses' => 'Ultimo accesso', + 'see_full_log' => 'Vedi il registro completo', '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', @@ -88,10 +88,10 @@ return [ 'single_sign_on' => 'Single Sign-On (SSO)', 'database' => 'Database', 'file_system' => 'File system', - 'storage' => 'Storage', + 'storage' => 'Spazio di archiviazione', 'forms' => [ 'use_encryption' => [ - 'label' => 'Protect sensitive data', + 'label' => 'Proteggi i dati sensibili', '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' => [ @@ -107,15 +107,15 @@ return [ 'help' => 'Emails matching this regular expression will be allowed to register', ], 'disable_registration' => [ - 'label' => 'Disable registration', + 'label' => 'Disabilita la registrazione', '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', + 'label' => 'Abilita SSO', 'help' => 'Allow visitors to authenticate using an external ID via the Single Sign-On scheme', ], 'use_sso_only' => [ - 'label' => 'Use SSO only', + 'label' => 'Usa solo SSO', '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' => [ @@ -123,11 +123,11 @@ return [ 'help' => 'Allow new users to sign in for the first time via SSO whereas registration is disabled', ], 'is_admin' => [ - 'label' => 'Is administrator', + 'label' => 'E` amministratore', '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', + 'label' => 'Test di configurazione email', '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', ], @@ -136,7 +136,7 @@ return [ 'help' => 'URL you can visit to check the health of this 2FAuth instance. This URL can be used to set up a Docker HEALTHCHECK or a Kubernetes HTTPS Liveness probe.', ], 'cache_management' => [ - 'label' => 'Cache management', + 'label' => 'Gestione cache', 'help' => 'Sometimes cache needs to be cleared, for instance after a change to environment variables or an update. You can do it from here.', ], 'store_icon_to_database' => [ diff --git a/resources/lang/it/auth.php b/resources/lang/it/auth.php index f4716b2f..7e037353 100644 --- a/resources/lang/it/auth.php +++ b/resources/lang/it/auth.php @@ -22,14 +22,14 @@ return [ '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', + 'if_administrator' => 'Amministratore?', + 'sign_in_here' => 'Puoi accedere senza SSO', + 'or_continue_with' => 'Puoi anche continuare con:', + 'password_login_and_webauthn_are_disabled' => 'Password di accesso e WebAuthn sono disabilitati.', + 'sign_in_using_sso' => 'Scegliere un provider SSO con cui effettuare l\'accesso:', + 'no_provider' => 'nessun provider', + 'no_sso_provider_or_provider_is_missing' => 'Manca il provider?', + 'see_how_to_enable_sso' => 'Vedi come abilitare un provider', 'sign_in_using_security_device' => 'Accedi tramite un dispositivo di sicurezza', 'login_and_password' => 'nome utente e password', 'register' => 'Registrati', @@ -41,7 +41,7 @@ return [ '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', + 'sso_only_x_settings_are_disabled' => 'L\'autenticazione è limitata solo a SSO, :auth_method è disabilitato', 'confirm' => [ 'logout' => 'Sei sicuro di volerti disconnettere?', 'revoke_device' => 'Sei sicuro di voler eliminare questo dispositivo?', @@ -87,7 +87,7 @@ return [ 'name' => 'Nome', 'login' => 'Login', 'webauthn_login' => 'WebAuthn login', - 'sso_login' => 'SSO login', + 'sso_login' => 'Accesso SSO', 'email' => 'Email', 'password' => 'Password', 'reveal_password' => 'Mostra password', @@ -103,15 +103,15 @@ return [ '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', + 'sso_only_form_restricted_to_admin' => 'Gli utenti regolari devono accedere con SSO. Altri metodi sono solo per gli amministratori.', + 'new_password' => 'Nuova password', 'current_password' => [ 'label' => 'Password attuale', 'help' => 'Inserisci la tua password attuale per confermare che sei tu' ], 'change_password' => 'Cambia password', 'send_password_reset_link' => 'Invia link per reset password', - 'password_successfully_reset' => 'Password successfully reset', + 'password_successfully_reset' => 'Password reimpostata con successo', 'edit_account' => 'Modifica account', 'profile_saved' => 'Profilo aggiornato con successo!', 'welcome_to_demo_app_use_those_credentials' => 'Benvenuto nella demo di 2Fauth.

Puoi connetterti utilizzando l\'indirizzo email demo@2fauth.app e la password demo', @@ -135,7 +135,7 @@ return [ 'caps_lock_is_on' => 'Il blocco maiuscole è attivo', ], 'sso_providers' => [ - 'unknown' => 'unknown', + 'unknown' => 'sconosciuto', 'github' => 'Github', 'openid' => 'OpenID' ] diff --git a/resources/lang/it/commons.php b/resources/lang/it/commons.php index 5708d3e5..22c63dcf 100644 --- a/resources/lang/it/commons.php +++ b/resources/lang/it/commons.php @@ -51,7 +51,7 @@ return [ 'refresh' => 'Aggiorna', 'data_refreshed_to_reflect_server_changes' => 'I dati sono stati aggiornati per rispecchiare le modifiche lato server', 'generate' => 'Genera', - 'generating_otp' => 'Generando OTP', + 'generating_otp' => 'Genero OTP', 'open_in_browser' => 'Apri nel browser', 'continue' => 'Continua', 'discard' => 'Scarta', @@ -77,18 +77,19 @@ return [ 'default' => 'Predefinito', 'back_to_home' => 'Torna alla home', 'nothing' => 'niente', - 'no_result' => 'No result', - 'information' => 'Information', - 'send' => 'Send', - 'optimize' => 'Optimize', + 'no_result' => 'Nessun risultato', + 'information' => 'Informazioni', + 'send' => 'Invia', + 'optimize' => 'Ottimizza', '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.', + 'no_entry_yet' => 'Ancora nessuna voce', + 'time' => 'Tempo', + 'ip_address' => 'Indirizzo IP', + 'device' => 'Dispositivo', + 'one_month' => '1 mese', + 'x_month' => ':x mesi', + 'one_year' => '1 anno', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/it/errors.php b/resources/lang/it/errors.php index 0a1a8bfa..7f2d5c5f 100644 --- a/resources/lang/it/errors.php +++ b/resources/lang/it/errors.php @@ -20,25 +20,25 @@ return [ 'something_wrong_with_server' => 'Qualcosa non va con il tuo server', 'Unable_to_decrypt_uri' => 'Impossibile decifrare uri', 'not_a_supported_otp_type' => 'Questo formato OTP non è attualmente supportato', - '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', + 'cannot_create_otp_without_secret' => 'Impossibile creare un OTP senza un segreto', + 'data_of_qrcode_is_not_valid_URI' => 'I dati di questo codice QR non sono un valido OTP Auth URI. Il codice QR contiene:', + 'wrong_current_password' => 'Password corrente errata, nulla è cambiato', + 'error_during_encryption' => 'Cifratura non riuscita, il database rimane non protetto.', + 'error_during_decryption' => 'Decifratura non riuscita, il database è ancora protetto. Questo è causato principalmente da un problema di integrità dei dati crittografati per uno o più account.', + 'qrcode_cannot_be_read' => 'Questo codice QR è illeggibile', + 'too_many_ids' => 'troppi ID sono stati inclusi nel parametro di query, max 100 consentiti', + 'delete_user_setting_only' => 'Solo le impostazioni create dall\'utente possono essere eliminate', + 'indecipherable' => '*indecifrabile*', + 'cannot_decipher_secret' => 'Il segreto non può essere decifrato. Questo è causato principalmente da un set APP_KEY sbagliato nel . nv file di configurazione di 2Fauth o dati corrotti memorizzati nel database.', + 'https_required' => 'Contesto HTTPS necessario', + 'browser_does_not_support_webauthn' => 'Il tuo dispositivo non supporta webauthn. Riprova più tardi usando un browser più moderno', + 'aborted_by_user' => 'Annullato dall\'utente.', + 'security_device_already_registered' => 'Dispositivo già registrato', + 'not_allowed_operation' => 'Operazione non consentita', + 'no_authenticator_support_specified_algorithms' => 'Nessun autenticatore supporta gli algoritmi specificati', + 'authenticator_missing_discoverable_credential_support' => 'Supporto credenziali scopribili mancante per l\'autenticazione', 'authenticator_missing_user_verification_support' => 'Authenticator missing user verification support', - 'unknown_error' => 'Unknown error', + 'unknown_error' => 'Errore sconosciuto', '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', @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/it/groups.php b/resources/lang/it/groups.php index 2e65cd68..3e3bd4b6 100644 --- a/resources/lang/it/groups.php +++ b/resources/lang/it/groups.php @@ -13,29 +13,29 @@ return [ | */ - 'groups' => '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', + 'groups' => 'Gruppi', + 'create_group' => 'Crea un nuovo gruppo', + 'show_group_selector' => 'Mostra selettore di gruppo', + 'hide_group_selector' => 'Nascondi selettore gruppo', + 'select_accounts_to_show' => 'Seleziona un gruppo di account da mostrare', 'x_accounts' => ':count account', - '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', + 'manage_groups' => 'Gestione gruppi', + 'active_group' => 'Gruppo attivo', + 'manage_groups_legend' => 'Puoi creare gruppi per organizzare i tuoi account come vuoi. Tutti gli account rimangono visibili nel gruppo pseudo chiamato \'All\', indipendentemente dal gruppo a cui appartengono.', + 'deleting_group_does_not_delete_accounts' => 'L\'eliminazione di un gruppo non elimina gli account', + 'move_selected_to' => 'Sposta selezionato in', + 'move_selected_to_group' => 'Sposta selezionato in un gruppo', + 'no_group' => 'Nessun gruppo', + 'change_group' => 'Cambia gruppo', + 'group_successfully_created' => 'Gruppo creato con successo', + 'group_name_saved' => 'Nome del gruppo salvato', + 'group_successfully_deleted' => 'Gruppo eliminato con successo', 'forms' => [ - 'new_group' => 'New group', - 'new_name' => 'New name', - 'rename_group' => 'Rename group', + 'new_group' => 'Nuovo gruppo', + 'new_name' => 'Nuovo nome', + 'rename_group' => 'Rinominare il gruppo', ], 'confirm' => [ - 'delete' => 'Are you sure you want to delete this group?', + 'delete' => 'Sei sicuro di voler eliminare questo gruppo?', ], ]; \ No newline at end of file diff --git a/resources/lang/it/languages.php b/resources/lang/it/languages.php index 1768d654..1fbc96ab 100644 --- a/resources/lang/it/languages.php +++ b/resources/lang/it/languages.php @@ -11,14 +11,14 @@ return [ */ 'browser_preference' => 'Preferenza del browser', - 'en' => 'English (English)', - 'fr' => 'Français (French)', - 'de' => 'Deutsch (German)', - 'es' => 'Español (Spanish)', - 'zh' => '简体中文 (Chinese Simplified)', - 'ru' => 'Русский (Russian)', + 'en' => 'English (Inglese)', + 'fr' => 'Français (Francese)', + 'de' => 'Deutsch (Tedesco)', + 'es' => 'Español (Spagnolo)', + 'zh' => '简体中文 (Cinese Semplificato)', + 'ru' => 'Русский (russo)', 'bg' => 'Български (Bulgarian)', - 'ja' => '日本語 (Japanese)', + 'ja' => '日本語 (Giapponese)', 'hi' => 'हिंदी (Hindi)', - 'tr' => 'Türkçe (Turkish)', + 'tr' => 'Türkçe (Turco)', ]; \ No newline at end of file diff --git a/resources/lang/it/notifications.php b/resources/lang/it/notifications.php index cdeab118..ef4c6ae0 100644 --- a/resources/lang/it/notifications.php +++ b/resources/lang/it/notifications.php @@ -18,7 +18,7 @@ return [ '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.', + 'reason' => 'Stai ricevendo questa email perché hai richiesto una email di prova per convalidare le impostazioni di posta elettronica della tua istanza 2FAuth.', 'success' => 'Good news, it works :)' ], 'new_device' => [ diff --git a/resources/lang/it/settings.php b/resources/lang/it/settings.php index 811c4b41..7cd66d35 100644 --- a/resources/lang/it/settings.php +++ b/resources/lang/it/settings.php @@ -13,84 +13,89 @@ return [ | */ - 'settings' => 'Settings', - 'preferences' => 'Preferences', + 'settings' => 'Impostazioni', + 'preferences' => 'Preferenze', 'account' => 'Account', 'oauth' => 'OAuth', 'webauthn' => 'WebAuthn', 'tokens' => 'Tokens', - 'options' => 'Options', - 'user_preferences' => 'User preferences', - 'admin_settings' => 'Admin settings', + 'options' => 'Opzioni', + 'user_preferences' => 'Preferenze utente', + 'admin_settings' => 'Impostazioni amministratore', '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', + 'you_are_administrator' => 'Sei un amministratore', + 'account_linked_to_sso_x_provider' => 'Hai effettuato l\'accesso tramite SSO utilizzando il tuo account :provider. Le tue informazioni non possono essere modificate qui ma su :provider.', + 'general' => 'Generale', + 'security' => 'Sicurezza', + 'notifications' => 'Notifiche', + 'profile' => 'Profilo', + 'change_password' => 'Cambia password', + 'personal_access_tokens' => 'Token di accesso personali', + 'token_legend' => 'I token di accesso personale consentono a qualsiasi app di autenticarsi all\'API 2Fauth. È necessario specificare il token di accesso come token Bearer nell\'intestazione di autorizzazione delle richieste delle app consumer.', + 'generate_new_token' => 'Genera un nuovo token', + 'revoke' => 'Revoca', + 'token_revoked' => 'Token revocato con successo', + 'revoking_a_token_is_permanent' => 'Revocare un token è permanente', 'confirm' => [ - 'revoke' => 'Are you sure you want to revoke this token?', + 'revoke' => 'Sei sicuro di voler revocare questo 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', + 'make_sure_copy_token' => 'Assicurati di copiare il tuo token di accesso personale ora. Non sarai in grado di vederlo di nuovo!', + 'data_input' => 'Inserire i dati', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', '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', + 'edit_settings' => 'Modifica impostazioni', + 'setting_saved' => 'Impostazioni salvate!', + 'new_token' => 'Nuovo token', + 'some_translation_are_missing' => 'Mancano alcune traduzioni usando la lingua preferita del browser?', + 'help_translate_2fauth' => 'Aiutaci a tradurre 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.' + 'label' => 'Lingua', + 'help' => 'Lingua utilizzata per tradurre l\'interfaccia utente 2FAuth. Le lingue con nome sono complete, imposta quella scelta per sovrascrivere le preferenze del browser.' ], 'timezone' => [ - 'label' => 'Time zone', - 'help' => 'The time zone applied to all dates and times displayed in the application' + 'label' => 'Fuso orario', + 'help' => 'Il fuso orario è applicato a tutte le date e gli orari mostrati nell\'applicazione' ], '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', - 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' + 'label' => 'Reveal obscured OTP', + 'help' => 'Lascia la possibilità di rivelare temporaneamente le password oscurate' ], 'close_otp_on_copy' => [ - 'label' => 'Close OTP after copy', - 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + 'label' => 'Close OTP after copy', + 'help' => 'Fare clic su una password generata per copiarla automaticamente nascondendola dallo schermo' + ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' ], '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' => 'Auto close OTP', + 'help' => 'Nascondi automaticamente la password sullo schermo dopo un timeout. Questo evita richieste non necessarie di nuove password se dimentichi di chiudere la vista password.' ], 'clear_search_on_copy' => [ - 'label' => 'Clear Search on copy', - 'help' => 'Empty the Search box right after a code has been copied to the clipboard' + 'label' => 'Svuota ricerca sulla copia', + 'help' => 'Svuota la casella di ricerca subito dopo che un codice è stato copiato negli appunti' ], 'sort_case_sensitive' => [ - 'label' => 'Sort case sensitive', - 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + 'label' => 'Ordina maiuscole e minuscole', + 'help' => 'Quando invocato, forza la funzione Ordina per ordinare gli account in base a maiuscolo/minuscolo' ], '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' + 'label' => 'Copy OTP on display', + 'help' => 'Copia automaticamente una password generata subito dopo che appare sullo schermo. A causa delle limitazioni del browser, solo la prima password TOTP verrà copiata, non quelle rotanti' ], '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' + 'label' => 'Usa lettore di codice QR di base', + 'help' => 'Se si verificano problemi durante la cattura di codici QR consente questa opzione di passare a un lettore di codice QR più semplice ma più affidabile' ], 'display_mode' => [ - 'label' => 'Display mode', + 'label' => 'Modalità Display', 'help' => 'Choose whether you want accounts to be displayed as a list or as a grid' ], 'password_format' => [ @@ -103,41 +108,41 @@ return [ 'half_legend' => 'Split digits into two equals groups', 'trio' => 'by Trio', 'half' => 'by Half', - 'grid' => 'Grid', - 'list' => 'List', + 'grid' => 'Griglia', + 'list' => 'Lista', 'theme' => [ - 'label' => 'Theme', + 'label' => 'Tema', 'help' => 'Force a specific theme or apply the theme defined in your system/browser preferences' ], - 'light' => 'Light', - 'dark' => 'Dark', - 'automatic' => 'Auto', + 'light' => 'Chiaro', + 'dark' => 'Scuro', + 'automatic' => 'Automatico', 'show_accounts_icons' => [ - 'label' => 'Show icons', + 'label' => 'Mostra icone', 'help' => 'Show account icons in the main view' ], 'get_official_icons' => [ - 'label' => 'Get official icons', + 'label' => 'Ottieni icone ufficiali', 'help' => '(Try to) Get the official icon of the 2FA issuer when adding an account' ], 'auto_lock' => [ - 'label' => 'Auto lock', + 'label' => 'Blocco automatico', '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', + 'label' => 'Gruppo predefinito', + 'help' => '', ], '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', + 'label' => 'Auto-salvataggio account', 'help' => 'New accounts are automatically registered after scanning or uploading a QR code, no need to click a Save button', ], 'useDirectCapture' => [ - 'label' => 'Direct input', + 'label' => 'Input diretto', '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' => [ @@ -149,7 +154,7 @@ return [ 'help' => 'Save the last group filter applied and restore it on your next visit', ], 'otp_generation' => [ - 'label' => 'Show Password', + 'label' => 'Mostra Password', 'help' => 'Set how and when OTPs are displayed.
', ], 'notify_on_new_auth_device' => [ @@ -170,19 +175,19 @@ return [ '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', + 'never' => 'Mai', + 'on_otp_copy' => 'Alla copia del codice di sicurezza', + '1_minutes' => 'Dopo 1 minuto', + '2_minutes' => 'Dopo 2 minuti', + '5_minutes' => 'Dopo 5 minuti', + '10_minutes' => 'Dopo 10 minuti', + '15_minutes' => 'Dopo 15 minuti', + '30_minutes' => 'Dopo 30 minuti', + '1_hour' => 'Dopo 1 ora', + '1_day' => 'Dopo 1 giorno', + 'livescan' => 'Livescan codice QR', + 'upload' => 'Caricamento del codice QR', + 'advanced_form' => 'Modulo avanzato', ], ]; \ No newline at end of file diff --git a/resources/lang/it/titles.php b/resources/lang/it/titles.php index 85802fe8..8308e86e 100644 --- a/resources/lang/it/titles.php +++ b/resources/lang/it/titles.php @@ -9,50 +9,50 @@ return [ | */ - 'start' => 'New account', + 'start' => 'Nuovo 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', + 'createAccount' => 'Crea account', + 'importAccounts' => 'Importa accounts', + 'editAccount' => 'Modifica account', + 'showQRcode' => 'Account come codice QR', + 'groups' => 'Gruppi', + 'createGroup' => 'Crea gruppo', + 'editGroup' => 'Modifica gruppo', 'settings' => [ - 'options' => 'Options', - 'account' => 'User account', + 'options' => 'Opzioni', + 'account' => 'Account utente', 'oauth' => [ - 'tokens' => 'OAuth tokens', - 'generatePAT' => 'New personal token', + 'tokens' => 'OAuth Tokens', + 'generatePAT' => 'Nuovo token personale', ], 'webauthn' => [ - 'editCredential' => 'Device edit', - 'devices' => 'WebAuthn devices', + 'editCredential' => 'Modifica dispositivo', + 'devices' => 'Dispositivi WebAuthn', ], ], - 'login' => 'Login', - 'register' => 'Register', - 'autolock' => 'Auto lock', + 'login' => 'Accedi', + 'register' => 'Registrati', + 'autolock' => 'Blocco automatico', 'password' => [ - 'request' => 'Reset password', - 'reset' => 'New password', + 'request' => 'Reimposta password', + 'reset' => 'Nuova password', ], 'webauthn' => [ - 'lost' => 'Account recovery', - 'recover' => 'Register a new device', + 'lost' => 'Recupero dell\'account', + 'recover' => 'Aggiungi dispositivo', ], 'flooded' => 'Flood', - 'genericError' => 'Error', - '404' => 'Item not found', - 'about' => 'About', + 'genericError' => 'Errore', + '404' => 'Elemento non trovato', + 'about' => 'Informazioni', 'admin' => [ - 'appSetup' => 'App setup', - 'users' => 'Users management', - 'createUser' => 'Create user', - 'manageUser' => 'Manage user', + 'appSetup' => 'Impostazioni App', + 'users' => 'Gestione utenti', + 'createUser' => 'Crea utente', + 'manageUser' => 'Gestione utenti', 'logs' => [ - 'access' => 'Access log' + 'access' => 'Registro accessi' ] ] ]; \ No newline at end of file diff --git a/resources/lang/it/twofaccounts.php b/resources/lang/it/twofaccounts.php index 2ab204dc..a3d0c2fb 100644 --- a/resources/lang/it/twofaccounts.php +++ b/resources/lang/it/twofaccounts.php @@ -13,22 +13,22 @@ return [ | */ - 'service' => 'Service', + 'service' => 'Servizio', 'account' => 'Account', - 'icon' => 'Icon', - 'icon_to_illustrate_the_account' => 'Icon that illustrates the account', - 'remove_icon' => 'Remove icon', + 'icon' => 'Icona', + 'icon_to_illustrate_the_account' => 'Icona che illustra l\'account', + 'remove_icon' => 'Rimuovi icona', '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_accounts' => 'Export selected accounts', + 'show_qrcode' => 'Mostra codice QR', + 'no_service' => '- nessun servizio -', + 'account_created' => 'Account creato con successo', + 'account_updated' => 'Account aggiornato con successo', + 'accounts_deleted' => 'Account eliminato con successo', + 'accounts_moved' => 'Account spostato correttamente', + 'export_selected_accounts' => 'Esporta gli account selezionati', 'twofauth_export_format' => '2FAuth format', 'twofauth_export_format_sub' => 'Export data using the 2FAuth json schema', 'twofauth_export_format_desc' => 'You should prefer this option if you need to create a backup that can be restored. This format takes care of the icons.', @@ -45,48 +45,48 @@ return [ 'account' => [ 'placeholder' => 'John DOE', ], - 'new_account' => 'New account', - 'edit_account' => 'Edit account', + 'new_account' => 'Nuovo account', + 'edit_account' => 'Modifica 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', + 'scan_qrcode' => 'Scansiona un codice QR', + 'upload_qrcode' => 'Carica un codice QR', + 'use_advanced_form' => 'Usa il modulo avanzato', + 'prefill_using_qrcode' => 'Precompila utilizzando un codice QR', 'use_qrcode' => [ - 'val' => 'Use a qrcode', - 'title' => 'Use a QR code to fill the form magically', + 'val' => 'Utilizza un qrcode', + 'title' => 'Usa un codice QR per compilare magicamente il modulo', ], 'unlock' => [ - 'val' => 'Unlock', - 'title' => 'Unlock it (at your own risk)', + 'val' => 'Sblocca', + 'title' => 'Sblocca (a tuo rischio)', ], 'lock' => [ - 'val' => 'Lock', - 'title' => 'Lock it', + 'val' => 'Blocca', + 'title' => 'Bloccarlo', ], - '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)', + 'choose_image' => 'Carica', + 'i_m_lucky' => 'Prova la mia fortuna', + 'i_m_lucky_legend' => 'Il pulsante "Prova la mia fortuna" cerca di ottenere l\'icona ufficiale del servizio specificato. Inserisci il nome effettivo del servizio senza l\'estensione ".xyz" e prova a evitare il tipo (funzione beta)', 'test' => 'Test', 'group' => [ - 'label' => 'Group', - 'help' => 'The group to which the account is to be assigned' + 'label' => 'Gruppo', + 'help' => 'Il gruppo al quale l\'account deve essere assegnato' ], 'secret' => [ - 'label' => 'Secret', - 'help' => 'The key used to generate your security codes' + 'label' => 'Segreto', + 'help' => 'La chiave utilizzata per generare i codici di sicurezza' ], - 'plain_text' => 'Plain text', + 'plain_text' => 'Testo in chiaro', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + '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' + 'help' => 'Il numero di cifre dei codici di sicurezza generati' ], 'algorithm' => [ - 'label' => 'Algorithm', + 'label' => 'Il numero di cifre dei codici di sicurezza generati', 'help' => 'The algorithm used to secure your security codes' ], 'period' => [ @@ -101,8 +101,8 @@ return [ '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://...', + 'label' => 'Immagine', + 'placeholder' => 'https://...', '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.', @@ -143,27 +143,27 @@ return [ '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?', + 'discard_duplicates' => 'Sei sicuro di voler scartare tutti i duplicati?', ], 'import' => [ - 'import' => 'Import', - 'to_import' => 'Import', + 'import' => 'Importa', + 'to_import' => 'Importa', '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', + 'import_legend_afterpart' => 'Utilizzare la funzione Esporta di queste app per ottenere una risorsa di migrazione come un codice QR o un file JSON, quindi caricarlo qui.', + 'upload' => 'Carica', + 'scan' => 'Scansiona', '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', + 'expected_format_for_direct_input' => '', 'supported_migration_formats' => 'Supported migration formats', - 'qr_code' => 'QR Code', + 'qr_code' => 'Codice QR', 'text_file' => 'Text file', 'direct_input' => 'Direct input', 'plain_text' => 'Plain text', 'parsing_data' => 'Parsing data...', 'issuer' => 'Issuer', - 'imported' => 'Imported', - 'failure' => 'Failure', + 'imported' => 'Importato', + 'failure' => 'Fallimento', '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.', @@ -171,8 +171,8 @@ return [ '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', + 'discard_this_account' => 'Scarta questo account', + 'generate_a_test_password' => 'Genera una parola d\'ordine di prova', 'possible_duplicate' => 'An account with the exact same data already exists', 'invalid_account' => '- invalid account -', 'invalid_service' => '- invalid service -', diff --git a/resources/lang/ja/commons.php b/resources/lang/ja/commons.php index 73cfb7d1..bfbf549e 100644 --- a/resources/lang/ja/commons.php +++ b/resources/lang/ja/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1ヶ月', 'x_month' => ':xヶ月', 'one_year' => '1年', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/ja/errors.php b/resources/lang/ja/errors.php index 7edbc42e..f19c336b 100644 --- a/resources/lang/ja/errors.php +++ b/resources/lang/ja/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QRコードのチェックサムが不正です', 'no_readable_qrcode' => '読み取り可能なQRコードがありません', 'failed_icon_store_database_toggling' => 'アイコンの移行に失敗しました。設定を元の値に戻しました。', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/ja/settings.php b/resources/lang/ja/settings.php index 03a3c82e..8cc9ebe6 100644 --- a/resources/lang/ja/settings.php +++ b/resources/lang/ja/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => '今すぐ必ずこの個人アクセストークンをコピーしてください。このトークンは二度と表示されません。', 'data_input' => 'データの読み込み', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => '設定を編集', 'setting_saved' => '設定を保存しました', @@ -58,19 +59,23 @@ return [ 'help' => 'このアプリケーションで表示するすべての日付と時刻に適用されるタイムゾーン' ], 'show_otp_as_dot' => [ - 'label' => '生成されたOTPを●で表示', - 'help' => '生成されたパスワード文字を見られないよう ● に置き換えます。コピーペーストには影響しません。' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => '隠されたOTPを再表示', + 'label' => 'Reveal obscured OTP', 'help' => '●で隠されたパスワードを一時的に表示できるようにします。' ], 'close_otp_on_copy' => [ - 'label' => 'コピー後にOTPを隠す', + 'label' => 'Close OTP after copy', 'help' => '生成されたパスワードをクリックしてコピー後、自動的に非表示にします。' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'OTP を自動で隠す', + 'label' => 'Auto close OTP', 'help' => '一定時間後に画面上のパスワードを自動で非表示にします。うっかりパスワードを表示させたまま、無駄なパスワード更新リクエストが送られるのを防ぎます。' ], 'clear_search_on_copy' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'オンにすると、並び替えで大文字と小文字のアカウント名を分離させます。' ], 'copy_otp_on_display' => [ - 'label' => '表示時にOTPをコピー', + 'label' => 'Copy OTP on display', 'help' => '画面に表示された瞬間に生成されたパスワードを自動的にコピーします。 ブラウザの制約により、最初のTOTPパスワードのみがコピーされ、更新後のものはコピーされません。' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/ja/twofaccounts.php b/resources/lang/ja/twofaccounts.php index 01e86bb5..37451468 100644 --- a/resources/lang/ja/twofaccounts.php +++ b/resources/lang/ja/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'プレーンテキスト', 'otp_type' => [ - 'label' => '作成するOTPの種類を選択', + 'label' => 'Choose the type of OTP to create', 'help' => '時間ベースのOTPか、HMACベースのOTPか、Steam OTP' ], 'digits' => [ diff --git a/resources/lang/ko/admin.php b/resources/lang/ko/admin.php index 77d32180..6e23c430 100644 --- a/resources/lang/ko/admin.php +++ b/resources/lang/ko/admin.php @@ -14,9 +14,9 @@ return [ */ 'admin' => '관리자', - 'admin_panel' => 'Admin panel', + 'admin_panel' => '관리자 패널', 'app_setup' => '앱 설정', - 'auth' => 'Auth', + 'auth' => '인증', 'registrations' => '가입', 'users' => '사용자', 'users_legend' => '인스턴스에 등록된 사용자를 관리하거나 새 사용자를 추가합니다.', @@ -85,10 +85,10 @@ return [ 'show_one_year_log' => '지난 해 항목 표시', 'sort_by_date_asc' => '오래된 순으로 표시', 'sort_by_date_desc' => '최신 순으로 표시', - 'single_sign_on' => 'Single Sign-On (SSO)', - 'database' => 'Database', - 'file_system' => 'File system', - 'storage' => 'Storage', + 'single_sign_on' => '통합 인증(SSO)', + 'database' => '데이터베이스', + 'file_system' => '파일 시스템', + 'storage' => '저장공간', 'forms' => [ 'use_encryption' => [ 'label' => '민감한 데이터 보호', @@ -111,12 +111,12 @@ return [ 'help' => '새 사용자 가입을 방지합니다. 재정의하지 않는 한(아래 참조), 이 설정은 SSO에도 영향을 미치므로 새 사용자는 SSO를 통해 로그인할 수 없습니다.', ], 'enable_sso' => [ - 'label' => 'Enable SSO', + 'label' => '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.', + 'label' => 'SSO만 사용', + 'help' => '2FAuth 로그인 수단을 SSO만으로 제한합니다. 일반 사용자의 비밀번호 로그인과 웹 인증(WebAuthn)이 비활성화됩니다. 관리자는 이 제한의 영향을 받지 않습니다.', ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO 가입을 활성화된 상태로 유지', @@ -132,16 +132,16 @@ return [ 'email_will_be_send_to_x' => '이메일이 :email로 전송됩니다.', ], 'health_endpoint' => [ - 'label' => 'Health endpoint', - 'help' => 'URL you can visit to check the health of this 2FAuth instance. This URL can be used to set up a Docker HEALTHCHECK or a Kubernetes HTTPS Liveness probe.', + 'label' => 'Health 엔드포인트', + 'help' => '2FAuth 인스턴스 상태를 확인하기 위해 방문할 수 있는 URL입니다. 이 URL은 Docker HEALTHCHECK 또는 Kubernetes HTTPS Liveness probe를 설정하는 데에 사용할 수 있습니다.', ], 'cache_management' => [ 'label' => '캐시 관리', 'help' => '환경 변수를 변경하거나 업데이트한 후와 같은 경우 캐시를 삭제해야 할 수 있습니다. 아래에서 삭제할 수 있습니다.', ], 'store_icon_to_database' => [ - 'label' => 'Store icons to database', - 'help' => 'Uploaded icons are registered in the database in addition to the file system storage, which is then used only as a cache. This makes creating a 2FAuth backup much easier, as only the database has to be backed up.

But beware, this may has some drawbacks: The database size may increase significantly if the instance hosts many large icons. It may also affect the application performance because the file system is hit more often to ensure it is synchronised with the database.', + 'label' => '데이터베이스에 아이콘 저장', + 'help' => '업로드된 아이콘은 파일 시스템 저장소 외에도 데이터베이스에 등록되어 캐시로 사용됩니다. 데이터베이스만 백업하면 되므로 2FAuth 백업을 더 간단하게 만들 수 있습니다.

하지만 몇 가지 단점에 유의해야 합니다: 인스턴스에 큰 아이콘이 많이 있는 경우 데이터베이스 크기가 증가할 수 있습니다. 또한 파일 시스템이 데이터베이스와 동기화하기 위해 더 자주 접속하므로 애플리케이션 성능에 영향을 미칠 수 있습니다.', ], ], diff --git a/resources/lang/ko/auth.php b/resources/lang/ko/auth.php index ae531c54..6082b326 100644 --- a/resources/lang/ko/auth.php +++ b/resources/lang/ko/auth.php @@ -22,14 +22,14 @@ return [ 'sign_out' => '로그아웃', 'sign_in' => '로그인', 'sign_in_using' => '로그인 방식:', - 'if_administrator' => 'Administrator?', - 'sign_in_here' => 'You can sign without SSO', + 'if_administrator' => '관리자입니까?', + 'sign_in_here' => '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', + 'password_login_and_webauthn_are_disabled' => '비밀번호 로그인과 WebAuthn이 비활성화됩니다.', + 'sign_in_using_sso' => '로그인할 SSO 제공자 선택:', + 'no_provider' => '제공자 없음', + 'no_sso_provider_or_provider_is_missing' => '제공자를 찾을 수 없습니까?', + 'see_how_to_enable_sso' => '제공자를 활성화하는 방법 보기', 'sign_in_using_security_device' => '보안 장치로 로그인', 'login_and_password' => '로그인 및 암호', 'register' => '가입', @@ -41,7 +41,7 @@ return [ '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', + 'sso_only_x_settings_are_disabled' => 'SSO 인증만이 허용되어 :auth_method 방식은 사용할 수 없습니다', 'confirm' => [ 'logout' => '정말 로그아웃 하시겠습니까?', 'revoke_device' => '이 장치를 삭제하시겠습니까?', @@ -87,7 +87,7 @@ return [ 'name' => '이름', 'login' => '로그인', 'webauthn_login' => 'WebAuthn 로그인', - 'sso_login' => 'SSO login', + 'sso_login' => 'SSO 로그인', 'email' => '이메일', 'password' => '비밀번호', 'reveal_password' => '비밀번호 표시', @@ -103,7 +103,7 @@ return [ '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.', + 'sso_only_form_restricted_to_admin' => '일반 사용자는 SSO 인증으로 로그인해야 합니다. 기타 방식은 관리자만 사용할 수 있습니다.', 'new_password' => '새 비밀번호', 'current_password' => [ 'label' => '현재 비밀번호', @@ -135,7 +135,7 @@ return [ 'caps_lock_is_on' => 'Caps Lock 켜짐', ], 'sso_providers' => [ - 'unknown' => 'unknown', + 'unknown' => '알려지지 않음', 'github' => 'Github', 'openid' => 'OpenID' ] diff --git a/resources/lang/ko/commons.php b/resources/lang/ko/commons.php index 13f4db62..449a7919 100644 --- a/resources/lang/ko/commons.php +++ b/resources/lang/ko/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '한 달.', 'x_month' => ':x 달.', 'one_year' => '1년.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/ko/errors.php b/resources/lang/ko/errors.php index 41baee56..a67eebe4 100644 --- a/resources/lang/ko/errors.php +++ b/resources/lang/ko/errors.php @@ -43,8 +43,8 @@ return [ '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.', + 'unsupported_with_reverseproxy' => '인증 프록시 또는 SSO를 사용하는 경우에는 적용할 수 없습니다', + 'unsupported_with_sso_only' => '이 인증 방법은 관리자만 사용할 수 있습니다. 일반 사용자는 SSO로 로그인해야 합니다.', 'user_deletion_failed' => '사용자 계정 삭제 실패, 데이터가 삭제되지 않음', 'auth_proxy_failed' => '프록시 인증 실패', 'auth_proxy_failed_legend' => '2Fauth가 인증 프록시 하에서 실행되도록 구성되었지만 프록시가 올바른 헤더를 반환하지 않습니다. 구성을 확인하고 다시 시도하세요.', @@ -73,5 +73,7 @@ return [ 'cannot_decode_detected_qrcode' => '감지된 QR 코드를 인식할 수 없습니다. 이미지를 자르거나 선명한 이미지를 사용해보세요.', 'qrcode_has_invalid_checksum' => 'QR 코드에 잘못된 체크섬이 있습니다.', 'no_readable_qrcode' => '인식 가능한 QR 코드 없음', - 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_icon_store_database_toggling' => '아이콘 마이그레이션에 실패했습니다. 이전 설정값으로 복원됩니다.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/ko/settings.php b/resources/lang/ko/settings.php index 28fbb61e..80339aaa 100644 --- a/resources/lang/ko/settings.php +++ b/resources/lang/ko/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => '개인 액세스 토큰을 복사해두세요. 다시 확인할 수 없습니다!', 'data_input' => '데이터 입력', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => '설정 변경', 'setting_saved' => '설정 저장됨', @@ -58,19 +59,23 @@ return [ 'help' => '서비스에 표시되는 모든 날짜와 시간에 적용되는 표준 시간대' ], 'show_otp_as_dot' => [ - 'label' => '생성된 OTP를 점으로 표시합니다.', - 'help' => '생성된 비밀번호를 ***로 바꾸어 보안을 유지하세요. 복사/붙여넣기 기능에 영향을 미치지 않습니다.' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => '가려진 OTP 표시', + 'label' => 'Reveal obscured OTP', 'help' => '점으로 가려진 비밀번호를 일시적으로 표시합니다.' ], 'close_otp_on_copy' => [ - 'label' => '복사 후 OTP 닫기', + 'label' => 'Close OTP after copy', 'help' => '생성된 비밀번호를 클릭하여 복사하면 화면에서 비밀번호가 자동으로 숨겨집니다.' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'OTP 자동 닫기', + 'label' => 'Auto close OTP', 'help' => '일정 시간이 지나면 화면에 표시된 비밀번호를 자동으로 숨깁니다. 비밀번호 보기를 닫는 것을 잊어버렸을 때 불필요한 비밀번호 요청을 피할 수 있습니다.' ], 'clear_search_on_copy' => [ @@ -82,7 +87,7 @@ return [ 'help' => '정렬 함수가 호출되면 대소문자를 구분하여 계정을 정렬하도록 강제합니다.' ], 'copy_otp_on_display' => [ - 'label' => '화면에 표시된 OTP 복사', + 'label' => 'Copy OTP on display', 'help' => '생성된 비밀번호가 화면에 나타난 직후 자동으로 복사됩니다. 브라우저의 제한으로 인해 갱신된 비밀번호는 복사되지 않으며, 처음 TOTP 비밀번호만 복사됩니다.' ], 'use_basic_qrcode_reader' => [ @@ -114,7 +119,7 @@ return [ 'automatic' => '자동', 'show_accounts_icons' => [ 'label' => '아이콘 표시', - 'help' => 'Show account icons in the main view' + 'help' => '메인 화면에 계정 아이콘을 표시합니다' ], 'get_official_icons' => [ 'label' => '공식 아이콘 불러오기', @@ -161,8 +166,8 @@ return [ 'help' => '2FAuth 계정에 로그인 시도가 실패할 때마다 이메일 받기' ], 'show_email_in_footer' => [ - 'label' => 'Show email in footer', - 'help' => 'Display the logged-in user\'s email in the footer instead of direct navigation links. The links are then available in a menu behind a click/tap on the email address.' + 'label' => '하단 영역에 이메일을 표시합니다', + 'help' => '하단 영역에 직접 네비게이션 링크 대신 로그인된 사용자의 이메일을 표시합니다. 이메일을 클릭/탭하여 표시되는 메뉴에서 링크에 접근할 수 있습니다.' ], 'otp_generation_on_request' => '클릭/탭 후', 'otp_generation_on_request_legend' => '개별 화면으로 열기', diff --git a/resources/lang/ko/twofaccounts.php b/resources/lang/ko/twofaccounts.php index 9f25d40f..31bcbc4c 100644 --- a/resources/lang/ko/twofaccounts.php +++ b/resources/lang/ko/twofaccounts.php @@ -28,15 +28,15 @@ return [ 'account_updated' => '계정이 업데이트되었습니다', 'accounts_deleted' => '계정이 삭제되었습니다', 'accounts_moved' => '계정이 이동되었습니다', - 'export_selected_accounts' => 'Export selected accounts', - 'twofauth_export_format' => '2FAuth format', - 'twofauth_export_format_sub' => 'Export data using the 2FAuth json schema', - 'twofauth_export_format_desc' => 'You should prefer this option if you need to create a backup that can be restored. This format takes care of the icons.', - 'twofauth_export_format_url' => 'The schema definition is described here:', - 'twofauth_export_schema' => '2FAuth export schema', + 'export_selected_accounts' => '선택한 계정 내보내기', + 'twofauth_export_format' => '2FAuth 형식', + 'twofauth_export_format_sub' => '2FAuth json schema를 사용하여 데이터 내보내기', + 'twofauth_export_format_desc' => '백업 데이터를 저장하는 경우에는 이 형식을 사용하는 것이 좋습니다. 아이콘을 보존합니다.', + 'twofauth_export_format_url' => 'Schema 정의 서술:', + 'twofauth_export_schema' => '2FAuth schema 내보냄', 'otpauth_export_format' => 'otpauth URIs', - 'otpauth_export_format_sub' => 'Export data as a list of otpauth URIs', - 'otpauth_export_format_desc' => 'otpauth URI is the most common format used to exchange 2FA data, for example in the form of a QR code when you enable 2FA on a web site. Select this if you want to switch from 2FAuth.', + 'otpauth_export_format_sub' => '데이터를 otpauth URIs 형식으로 내보내기', + 'otpauth_export_format_desc' => 'otpauth URI는 웹사이트에서 2FA를 활성화할 때 사용되는 QR 코드와 같이 2FA 데이터를 교환하는 데에 사용되는 가장 보편적인 형식입니다. 2FAuth에서 다른 서비스로 전환하는 경우에 선택하십시오.', 'reveal' => '표시', 'forms' => [ 'service' => [ @@ -69,8 +69,8 @@ return [ 'i_m_lucky_legend' => '\'자동으로 불러오기\' 버튼은 이 서비스의 공식 아이콘을 가져오려고 시도합니다. ".xyz"와 같은 도메인을 제외한 실제 서비스 이름을 오타 없이 입력해 주세요. (베타 기능)', 'test' => '테스트', 'group' => [ - 'label' => 'Group', - 'help' => 'The group to which the account is to be assigned' + 'label' => '그룹', + 'help' => '계정을 할당할 그룹' ], 'secret' => [ 'label' => '시크릿키', @@ -78,7 +78,7 @@ return [ ], 'plain_text' => '일반 텍스트', 'otp_type' => [ - 'label' => '생성할 OTP 유형 선택', + 'label' => 'Choose the type of OTP to create', 'help' => '시간 기반 OTP, HMAC 기반 OTP, Steam OTP 중 선택 가능' ], 'digits' => [ diff --git a/resources/lang/ko/validation.php b/resources/lang/ko/validation.php index d67bfc01..1abff7f8 100644 --- a/resources/lang/ko/validation.php +++ b/resources/lang/ko/validation.php @@ -22,7 +22,7 @@ return [ 'alpha_dash' => ':attribute은(는) 영어나 숫자, 하이픈으로만 입력하실 수 있습니다.', 'alpha_num' => ':attribute은(는) 문자와 숫자만 포함할 수 있습니다.', 'array' => ':attribute은(는) 배열이어야 합니다.', - 'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.', + 'ascii' => ':attribute(은)는 1바이트 영어 및 숫자와 특수문자만 포함해야 합니다.', 'before' => ':attribute은(는) :date 이전의 날짜여야 합니다.', 'before_or_equal' => ':Attribute은(는) :date 이전 날짜이거나 같은 날짜여야 합니다.', 'between' => [ @@ -32,14 +32,14 @@ return [ 'string' => ':attribute은(는) 반드시 :min 자에서 :max 자 사이여야 합니다.', ], 'boolean' => ':attribute은(는) true 또는 false 이어야 합니다.', - 'can' => 'The :attribute field contains an unauthorized value.', + 'can' => ':attribute 영역에 허용되지 않은 값이 포함되어 있습니다.', 'confirmed' => ':attribute 확인이 일치하지 않습니다.', - 'contains' => 'The :attribute field is missing a required value.', + 'contains' => ':attribute 영역에 필요한 값이 없습니다.', 'current_password' => '비밀번호가 일치하지 않습니다.', 'date' => ':attribute는 올바른 날짜가 아닙니다.', 'date_equals' => ':attribute은(는) :date와 같은 날짜여야 합니다.', 'date_format' => ':attribute이(가) :format 형식과 일치하지 않습니다.', - 'decimal' => 'The :attribute field must have :decimal decimal places.', + 'decimal' => ':attribute은(는) 소수점 :decimal 자리여야 합니다.', 'declined' => ':attribute은(는) 거부되어야 합니다.', 'declined_if' => ':other이(가) :value일때 :attribute은(는) 거부되어야 합니다.', 'different' => ':attribute와(과) :other은(는) 서로 달라야 합니다.', @@ -53,7 +53,7 @@ return [ 'ends_with' => ':attribute은(는) 다음 중 하나로 끝나야 합니다: :values.', 'enum' => '선택된 :attribute은(는) 올바르지 않습니다.', 'exists' => '선택된 :attribute은(는) 올바르지 않습니다.', - 'extensions' => 'The :attribute field must have one of the following extensions: :values.', + 'extensions' => ':attribute은(는) 다음 확장 중 하나를 포함해야 합니다: :values.', 'file' => ':attribute은(는) 파일이어야 합니다.', 'filled' => ':attribute은(는) 필수 사항입니다.', 'gt' => [ @@ -68,7 +68,7 @@ return [ 'numeric' => ':attribute은(는) :value 이상이어야 합니다.', 'string' => ':attribute은(는) :value 자 이상이어야 합니다.', ], - 'hex_color' => 'The :attribute field must be a valid hexadecimal color.', + 'hex_color' => ':attribute 영역은 유효한 16진수 색상이어야 합니다.', 'image' => ':attribute은(는) 이미지여야 합니다.', 'in' => '선택된 :attribute은(는) 올바르지 않습니다.', 'in_array' => ':other에 :attribute이(가) 존재하지 않습니다.', @@ -77,8 +77,8 @@ return [ 'ipv4' => ':attribute은(는) 유효한 IPv4 주소여야 합니다.', 'ipv6' => ':attribute은(는) 유효한 IPv6 주소여야 합니다.', 'json' => ':attribute은(는) 유효한 JSON 문자여야 합니다.', - 'list' => 'The :attribute field must be a list.', - 'lowercase' => 'The :attribute field must be lowercase.', + 'list' => ':attribute 영역은 목록이어야 합니다.', + 'lowercase' => ':attribute 영역은 소문자여야 합니다.', 'lt' => [ 'array' => ':attribute은(는) :value개 미만이어야 합니다.', 'file' => ':attribute은(는) :value KB 미만이어야 합니다.', @@ -108,11 +108,11 @@ return [ 'string' => ':attribute은(는) :min 자 이상이어야 합니다.', ], 'min_digits' => ':attribute은(는) :min 자릿수 이상이어야 합니다.', - 'missing' => 'The :attribute field must be missing.', - 'missing_if' => 'The :attribute field must be missing when :other is :value.', - 'missing_unless' => 'The :attribute field must be missing unless :other is :value.', - 'missing_with' => 'The :attribute field must be missing when :values is present.', - 'missing_with_all' => 'The :attribute field must be missing when :values are present.', + 'missing' => ':attribute 영역은 빈 값이어야 합니다.', + 'missing_if' => ':attribute 영역은 :other이(가) :value일 경우 빈 값이어야 합니다.', + 'missing_unless' => ':attribute 영역은 :other이(가) :value이(가) 아닐 경우 빈 값이어야 합니다.', + 'missing_with' => ':attribute 영역은 :value이(가) 존재하는 경우 빈 값이어야 합니다.', + 'missing_with_all' => ':attribute 영역은 :value이(가) 존재하는 경우 빈 값이어야 합니다.', 'multiple_of' => ':attribute은(는) :value 의 배수여야 합니다.', 'not_in' => '선택된 :attribute은(는) 유효하지 않습니다.', 'not_regex' => ':attribute의 형식이 올바르지 않습니다.', @@ -125,10 +125,10 @@ return [ 'uncompromised' => '주어진 :attribute 가 데이터 유출로 보입니다. 다른 :attribute 를 선택해주세요.', ], 'present' => ':attribute 항목은 필수입니다.', - 'present_if' => 'The :attribute field must be present when :other is :value.', - 'present_unless' => 'The :attribute field must be present unless :other is :value.', - 'present_with' => 'The :attribute field must be present when :values is present.', - 'present_with_all' => 'The :attribute field must be present when :values are present.', + 'present_if' => ':attribute 영역은 :other이(가) :value일 경우 필수값입니다.', + 'present_unless' => ':attribute 영역은 :other이(가) :value일 경우 필수값입니다.', + 'present_with' => ':attribute 영역은 :value이(가) 존재하는 경우 필수값입니다.', + 'present_with_all' => ':attribute 영역은 :value이(가) 존재하는 경우 필수값입니다.', 'prohibited' => ':attribute (은)는 금지되어 있습니다.', 'prohibited_if' => ':attribute 필드는 :other 가 :value 일때 금지됩니다.', 'prohibited_unless' => ':attribute (은)는 :other 이(가) :value 이(가) 아닌 경우 금지되어 있습니다.', @@ -138,7 +138,7 @@ return [ 'required_array_keys' => ':attribute 필드는 :values에 대한 항목을 포함해야 합니다.', 'required_if' => ':other이(가) :value 일때 :attribute 필드는 필수입니다.', 'required_if_accepted' => ':other이(가) 승인되면 :attribute 필드가 필요합니다.', - 'required_if_declined' => 'The :attribute field is required when :other is declined.', + 'required_if_declined' => ':attribute 영역은 :other이(가) 거부된 경우 필수값입니다.', 'required_unless' => ':values에 :other이 아닌 이상 attribute 항목은 필수입니다.', 'required_with' => ':values이(가) 있을 경우 :attribute 항목은 필수입니다.', 'required_with_all' => ':values이(가) 있는 경우 :attribute 필드는 필수입니다.', @@ -156,9 +156,9 @@ return [ 'timezone' => ':attribute 는 올바른 시간대여야 합니다.', 'unique' => ':attribute은(는) 이미 사용중 입니다.', 'uploaded' => ':attribute을(를) 업로드하지 못했습니다.', - 'uppercase' => 'The :attribute field must be uppercase.', + 'uppercase' => ':attribute은(는) 대문자여야 합니다.', 'url' => ':attribute 는 반드시 올바른 URL이어야 합니다.', - 'ulid' => 'The :attribute field must be a valid ULID.', + 'ulid' => ':attribute 영역에 유효한 ULID가 필요합니다.', 'uuid' => ':attribute은(는) 반드시 올바른 UUID여야 합니다.', 'single' => ':attribute 사용 시 이 요청 본문에서 유일한 매개변수여야 합니다.', diff --git a/resources/lang/nl/commons.php b/resources/lang/nl/commons.php index 84a451e9..16c0e7b2 100644 --- a/resources/lang/nl/commons.php +++ b/resources/lang/nl/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 ma.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/nl/errors.php b/resources/lang/nl/errors.php index d8630183..e913d10e 100644 --- a/resources/lang/nl/errors.php +++ b/resources/lang/nl/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code heeft een ongeldige controlesom', 'no_readable_qrcode' => 'Geen leesbare QR- code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/nl/settings.php b/resources/lang/nl/settings.php index 5a1c9643..3e47c99c 100644 --- a/resources/lang/nl/settings.php +++ b/resources/lang/nl/settings.php @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Wijzig instellingen', 'setting_saved' => 'Instellingen opgeslagen', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Onthullen vervaagd OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Laat de mogelijkheid om tijdelijk Dot-Obscured wachtwoorden te onthullen' ], 'close_otp_on_copy' => [ - 'label' => 'Sluiten OTP na kopiëren', + 'label' => 'Close OTP after copy', 'help' => 'Klik op een gegenereerd wachtwoord om het automatisch te kopiëren op het scherm' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Automatisch sluiten OTP', + 'label' => 'Auto close 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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'Wanneer aangedrongen, forceer de sorteerfunctie om rekeningen op een hoofdgevoelige basis te sorteren' ], 'copy_otp_on_display' => [ - 'label' => 'Kopieer OTP bij weergave', + 'label' => 'Copy OTP on display', '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' => [ diff --git a/resources/lang/nl/twofaccounts.php b/resources/lang/nl/twofaccounts.php index e9fe56a7..a82e21cb 100644 --- a/resources/lang/nl/twofaccounts.php +++ b/resources/lang/nl/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Platte tekst', 'otp_type' => [ - 'label' => 'Kies het type OTP om te maken', + 'label' => 'Choose the type of OTP to create', 'help' => 'Op tijd gebaseerde OTP of HMAC-gebaseerde OTP of Steam OTP' ], 'digits' => [ diff --git a/resources/lang/pl/admin.php b/resources/lang/pl/admin.php index 584e5cbb..4110c827 100644 --- a/resources/lang/pl/admin.php +++ b/resources/lang/pl/admin.php @@ -13,8 +13,8 @@ return [ | */ - 'admin' => 'Admin', - 'admin_panel' => 'Admin panel', + 'admin' => 'Administrator', + 'admin_panel' => 'Panel administratora', 'app_setup' => 'App setup', 'auth' => 'Auth', 'registrations' => 'Registrations', @@ -66,8 +66,8 @@ return [ 'security_devices_succesfully_revoked' => 'User\'s security devices successfully revoked', 'variables' => 'Variables', 'cache_cleared' => 'Cache cleared', - 'cache_optimized' => 'Cache optimized', - 'check_now' => 'Check now', + 'cache_optimized' => 'Zoptymalizowana pamięć podręczna', + 'check_now' => 'Sprawdź teraz', 'view_on_github' => 'View on Github', 'x_is_available' => ':version is available', 'successful_login_on' => 'Successful login on :login_at', @@ -141,7 +141,7 @@ return [ ], 'store_icon_to_database' => [ 'label' => 'Store icons to database', - 'help' => 'Uploaded icons are registered in the database in addition to the file system storage, which is then used only as a cache. This makes creating a 2FAuth backup much easier, as only the database has to be backed up.

But beware, this may has some drawbacks: The database size may increase significantly if the instance hosts many large icons. It may also affect the application performance because the file system is hit more often to ensure it is synchronised with the database.', + 'help' => 'Przesłane ikony są rejestrowane w bazie danych poza pamięcią systemową plików, która jest następnie używana tylko jako pamięć podręczna. To sprawia, że tworzenie kopii zapasowej 2FAuth jest znacznie łatwiejsze, ponieważ tylko baza danych musi być w kopii zapasowej.

Ale zapamiętaj, może to mieć pewne wady: rozmiar bazy danych może znacznie wzrosnąć, jeśli instancja posiada wiele dużych ikon. Może to również mieć wpływ na wydajność aplikacji.', ], ], diff --git a/resources/lang/pl/auth.php b/resources/lang/pl/auth.php index 2c80d4a2..473e3a0d 100644 --- a/resources/lang/pl/auth.php +++ b/resources/lang/pl/auth.php @@ -14,7 +14,7 @@ return [ */ // Laravel - 'failed' => 'These credentials do not match our records.', + 'failed' => 'Wprowadzone poświadczenia są nieprawidłowe.', 'password' => 'The provided password is incorrect.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', @@ -131,8 +131,8 @@ return [ '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', + 'optional_rules_you_should_follow' => 'Minimum 8 znaków.', + 'caps_lock_is_on' => 'Caps Lock jest włączony', ], 'sso_providers' => [ 'unknown' => 'unknown', diff --git a/resources/lang/pl/commons.php b/resources/lang/pl/commons.php index 17c0c45e..6b7b3ada 100644 --- a/resources/lang/pl/commons.php +++ b/resources/lang/pl/commons.php @@ -13,7 +13,7 @@ return [ | */ - 'cancel' => 'Cancel', + 'cancel' => 'Anuluj', 'update' => 'Update', 'copy' => 'Copy', 'copy_to_clipboard' => 'Copy to clipboard', @@ -45,7 +45,7 @@ return [ 'sort_descending' => 'Sort descending', 'sort_ascending' => 'Sort ascending', 'rename' => 'Rename', - 'new_name' => 'New name', + 'new_name' => 'Nowa nazwa', 'options' => 'Options', 'reload' => 'Reload', 'refresh' => 'Refresh', @@ -65,7 +65,7 @@ return [ 'logos_by' => 'Logos by', 'search' => 'Search', 'resources' => 'Resources', - 'check_for_update' => 'Check for new version', + 'check_for_update' => 'Sprawdź dostępność aktualizacji', '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', @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/pl/errors.php b/resources/lang/pl/errors.php index 29c6ffc6..bfd89516 100644 --- a/resources/lang/pl/errors.php +++ b/resources/lang/pl/errors.php @@ -73,5 +73,7 @@ return [ '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', - 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_icon_store_database_toggling' => 'Migracja ikon nie powiodła się. Ustawienie zostało przywrócone do poprzedniej wartości.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/pl/groups.php b/resources/lang/pl/groups.php index 0a1124be..1fe9489b 100644 --- a/resources/lang/pl/groups.php +++ b/resources/lang/pl/groups.php @@ -36,6 +36,6 @@ return [ 'rename_group' => 'Rename group', ], 'confirm' => [ - 'delete' => 'Are you sure you want to delete this group?', + 'delete' => 'Czy na pewno chcesz usunąć tę grupę?', ], ]; \ No newline at end of file diff --git a/resources/lang/pl/languages.php b/resources/lang/pl/languages.php index 27f368b6..035f8583 100644 --- a/resources/lang/pl/languages.php +++ b/resources/lang/pl/languages.php @@ -10,8 +10,8 @@ return [ | */ - 'browser_preference' => 'Browser preference', - 'en' => 'English (English)', + 'browser_preference' => 'Preferencje przeglądarki', + 'en' => 'Angielski (język angielski)', 'fr' => 'Français (French)', 'de' => 'Deutsch (German)', 'es' => 'Español (Spanish)', diff --git a/resources/lang/pl/notifications.php b/resources/lang/pl/notifications.php index cdeab118..32625f21 100644 --- a/resources/lang/pl/notifications.php +++ b/resources/lang/pl/notifications.php @@ -13,8 +13,8 @@ return [ | */ - 'hello' => 'Hello', - 'hello_user' => 'Hello :username,', + 'hello' => 'Witaj', + 'hello_user' => 'Witaj :username,', 'regards' => 'Regards', 'test_email_settings' => [ 'subject' => '2FAuth test email', @@ -31,6 +31,6 @@ return [ '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.' + 'recommandations' => 'Jeśli to Ty, możesz zignorować ten alert. Jeśli kolejne próby nie powiodą się, powinieneś skontaktować się z administratorem 2FA w celu sprawdzenia ustawień zabezpieczeń i podjęcia działań przeciwko temu atakującemu.' ], ]; \ No newline at end of file diff --git a/resources/lang/pl/pagination.php b/resources/lang/pl/pagination.php index d4814118..23f71960 100644 --- a/resources/lang/pl/pagination.php +++ b/resources/lang/pl/pagination.php @@ -13,7 +13,7 @@ return [ | */ - 'previous' => '« Previous', - 'next' => 'Next »', + 'previous' => '« Poprzednia', + 'next' => 'Następna »', ]; diff --git a/resources/lang/pl/passwords.php b/resources/lang/pl/passwords.php index a25271a3..a8b8b8b2 100644 --- a/resources/lang/pl/passwords.php +++ b/resources/lang/pl/passwords.php @@ -16,7 +16,7 @@ return [ // Laravel 'reset' => 'Your password has been reset!', 'sent' => 'We have emailed your password reset link!', - 'throttled' => 'Please wait before retrying.', + 'throttled' => 'Proszę poczekać przed ponownym próbą.', 'token' => 'This password reset token is invalid.', 'user' => "We can't find a user with that email address.", diff --git a/resources/lang/pl/settings.php b/resources/lang/pl/settings.php index 811c4b41..dc762ab2 100644 --- a/resources/lang/pl/settings.php +++ b/resources/lang/pl/settings.php @@ -13,7 +13,7 @@ return [ | */ - 'settings' => 'Settings', + 'settings' => 'Ustawienia', 'preferences' => 'Preferences', 'account' => 'Account', 'oauth' => 'OAuth', @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Edit settings', 'setting_saved' => 'Settings saved', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' ], 'close_otp_on_copy' => [ - 'label' => 'Close OTP after copy', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => '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' => [ @@ -182,7 +187,7 @@ return [ '1_day' => 'After 1 day', 'livescan' => 'QR code livescan', 'upload' => 'QR code upload', - 'advanced_form' => 'Advanced form', + 'advanced_form' => 'Zaawansowany formularz', ], ]; \ No newline at end of file diff --git a/resources/lang/pl/titles.php b/resources/lang/pl/titles.php index 85802fe8..eccacc57 100644 --- a/resources/lang/pl/titles.php +++ b/resources/lang/pl/titles.php @@ -9,12 +9,12 @@ return [ | */ - 'start' => 'New account', - 'capture' => 'Flash QR', + 'start' => 'Nowe konto', + 'capture' => 'Przechwyć QR', 'accounts' => 'Accounts', - 'createAccount' => 'Create account', + 'createAccount' => 'Utwórz konto', 'importAccounts' => 'Import accounts', - 'editAccount' => 'Account edit', + 'editAccount' => 'Edycja konta', 'showQRcode' => 'Account as QR code', 'groups' => 'Groups', 'createGroup' => 'Create group', @@ -52,7 +52,7 @@ return [ 'createUser' => 'Create user', 'manageUser' => 'Manage user', 'logs' => [ - 'access' => 'Access log' + 'access' => 'Dziennik dostępu' ] ] ]; \ No newline at end of file diff --git a/resources/lang/pl/twofaccounts.php b/resources/lang/pl/twofaccounts.php index 2ab204dc..bb67865a 100644 --- a/resources/lang/pl/twofaccounts.php +++ b/resources/lang/pl/twofaccounts.php @@ -13,7 +13,7 @@ return [ | */ - 'service' => 'Service', + 'service' => 'Usługa', 'account' => 'Account', 'icon' => 'Icon', 'icon_to_illustrate_the_account' => 'Icon that illustrates the account', @@ -78,11 +78,11 @@ return [ ], 'plain_text' => 'Plain text', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' ], 'digits' => [ - 'label' => 'Digits', + 'label' => 'Cyfry', 'help' => 'The number of digits of the generated security codes' ], 'algorithm' => [ @@ -160,8 +160,8 @@ return [ 'text_file' => 'Text file', 'direct_input' => 'Direct input', 'plain_text' => 'Plain text', - 'parsing_data' => 'Parsing data...', - 'issuer' => 'Issuer', + 'parsing_data' => 'Przetwarzanie danych...', + 'issuer' => 'Wystawca', 'imported' => 'Imported', 'failure' => 'Failure', 'x_valid_accounts_found' => ':count valid accounts found', @@ -176,7 +176,7 @@ return [ '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.', + 'do_not_set_password_or_encryption' => 'Nie włączaj ochrony haseł ani szyfrowania podczas eksportowania danych z aplikacji 2FA, w przeciwnym razie 2FA nie będzie w stanie ich rozszyfrować.', ], ]; \ No newline at end of file diff --git a/resources/lang/pl/validation.php b/resources/lang/pl/validation.php index f7830303..6e7937a9 100644 --- a/resources/lang/pl/validation.php +++ b/resources/lang/pl/validation.php @@ -13,10 +13,10 @@ return [ | */ - 'accepted' => 'The :attribute field must be accepted.', - 'accepted_if' => 'The :attribute field must be accepted when :other is :value.', + 'accepted' => 'To :attribute pole musi zostać zaakceptowane.', + 'accepted_if' => 'To atrybut pola musi zostać zaakceptowane gdy :other jest :value.', 'active_url' => 'The :attribute field must be a valid URL.', - 'after' => 'The :attribute field must be a date after :date.', + 'after' => 'Pole :attribute musi być datą po :date.', 'after_or_equal' => 'The :attribute field must be a date after or equal to :date.', 'alpha' => 'The :attribute field must only contain letters.', 'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.', @@ -118,7 +118,7 @@ return [ 'not_regex' => 'The :attribute field format is invalid.', 'numeric' => 'The :attribute field must be a number.', 'password' => [ - 'letters' => 'The :attribute field must contain at least one letter.', + 'letters' => ':attribute musi zawierać przynajmniej jedną literę.', 'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.', 'numbers' => 'The :attribute field must contain at least one number.', 'symbols' => 'The :attribute field must contain at least one symbol.', @@ -207,7 +207,7 @@ return [ 'required' => 'The uri must have a label.', ], 'ids' => [ - 'regex' => 'IDs must be comma separated, without trailing comma.', + 'regex' => 'Identyfikatory muszą być oddzielone przecinkami.', ], ], diff --git a/resources/lang/pt/commons.php b/resources/lang/pt/commons.php index f5ac3838..7a0a5c7f 100644 --- a/resources/lang/pt/commons.php +++ b/resources/lang/pt/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mês.', 'x_month' => ':x meses.', 'one_year' => '1 ano.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/pt/errors.php b/resources/lang/pt/errors.php index 6809eb6c..071947b3 100644 --- a/resources/lang/pt/errors.php +++ b/resources/lang/pt/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code possui checksum inválido', 'no_readable_qrcode' => 'Nenhum código QR legível', 'failed_icon_store_database_toggling' => 'Houve um erro ao migrar os ícones. A configuração foi restaurada para o valor anterior.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/pt/settings.php b/resources/lang/pt/settings.php index fa1f8ff6..ba5966af 100644 --- a/resources/lang/pt/settings.php +++ b/resources/lang/pt/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Certifique-se de salvar seu token de acesso pessoal agora. Você não poderá vê-lo novamente!', 'data_input' => 'Entrada de dados', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Editar configurações', 'setting_saved' => 'Configurações salvas', @@ -58,19 +59,23 @@ return [ 'help' => 'O fuso horário aplicado a todas as datas e horas exibidas na aplicação' ], 'show_otp_as_dot' => [ - 'label' => 'Exibir OTP gerado como pontos', - 'help' => 'Substitua os caracteres de senha gerados com *** para garantir a confidencialidade. Não afete o recurso copiar/colar' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Revelar OTP oculto', + 'label' => 'Reveal obscured OTP', 'help' => 'Permitir a capacidade de revelar temporariamente senhas obscurecidas por pontos' ], 'close_otp_on_copy' => [ - 'label' => 'Fechar OTP após copiar', + 'label' => 'Close OTP after copy', 'help' => 'Clicar para copiar uma senha gerada a ocultará automaticamente da tela' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Fechar automaticamente OTP', + 'label' => 'Auto close 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' => [ @@ -82,7 +87,7 @@ return [ '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', + 'label' => 'Copy OTP on display', 'help' => 'Copiar automaticamente uma senha gerada depois que ela aparecer na tela. Devido a limitações de navegadores, apenas a primeira senha TOTP será copiada, não as rotativas' ], 'use_basic_qrcode_reader' => [ diff --git a/resources/lang/pt/twofaccounts.php b/resources/lang/pt/twofaccounts.php index 7394bafd..cbcf38c5 100644 --- a/resources/lang/pt/twofaccounts.php +++ b/resources/lang/pt/twofaccounts.php @@ -91,7 +91,7 @@ otpauth://TYPE/LABEL?secret=SECRET&issuer=ISSUER&digits=DIGITS&period=PERIOD', ], 'plain_text' => 'Texto sem formatação', 'otp_type' => [ - 'label' => 'Escolha o tipo de OTP para criar', + 'label' => 'Choose the type of OTP to create', 'help' => 'OTP baseado no tempo ou HMAC baseado em OTP ou OTP Steam' ], 'digits' => [ diff --git a/resources/lang/ro/commons.php b/resources/lang/ro/commons.php index 17c0c45e..7e92efdb 100644 --- a/resources/lang/ro/commons.php +++ b/resources/lang/ro/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 mo.', 'x_month' => ':x mos.', 'one_year' => '1 yr.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/ro/errors.php b/resources/lang/ro/errors.php index 29c6ffc6..3aa6e35b 100644 --- a/resources/lang/ro/errors.php +++ b/resources/lang/ro/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR code has invalid checksum', 'no_readable_qrcode' => 'No readable QR code', 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/ro/settings.php b/resources/lang/ro/settings.php index 811c4b41..cfd80cb8 100644 --- a/resources/lang/ro/settings.php +++ b/resources/lang/ro/settings.php @@ -43,6 +43,7 @@ return [ ], '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Edit settings', 'setting_saved' => 'Settings saved', @@ -58,19 +59,23 @@ return [ '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' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Reveal obscured OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Let the ability to temporarily reveal Dot-Obscured passwords' ], 'close_otp_on_copy' => [ - 'label' => 'Close OTP after copy', + 'label' => 'Close OTP after copy', 'help' => 'Click on a generated password to copy it automatically hides it from the screen' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Auto close OTP', + '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' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' ], 'copy_otp_on_display' => [ - 'label' => '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' => [ diff --git a/resources/lang/ro/twofaccounts.php b/resources/lang/ro/twofaccounts.php index 2ab204dc..37ca1029 100644 --- a/resources/lang/ro/twofaccounts.php +++ b/resources/lang/ro/twofaccounts.php @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Plain text', 'otp_type' => [ - 'label' => 'Choose the type of OTP to create', + 'label' => 'Choose the type of OTP to create', 'help' => 'Time-based OTP or HMAC-based OTP or Steam OTP' ], 'digits' => [ diff --git a/resources/lang/ru/admin.php b/resources/lang/ru/admin.php index a2cec9d0..2e635bea 100644 --- a/resources/lang/ru/admin.php +++ b/resources/lang/ru/admin.php @@ -14,7 +14,7 @@ return [ */ 'admin' => 'Администратор', - 'admin_panel' => 'Admin panel', + 'admin_panel' => 'Административная панель', 'app_setup' => 'Настройки приложения', 'auth' => 'Авторизация', 'registrations' => 'Регистрации', diff --git a/resources/lang/ru/commons.php b/resources/lang/ru/commons.php index f975a245..32c3f412 100644 --- a/resources/lang/ru/commons.php +++ b/resources/lang/ru/commons.php @@ -91,4 +91,5 @@ return [ 'one_month' => '1 мес.', 'x_month' => ':x мес.', 'one_year' => '1 г.', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/ru/errors.php b/resources/lang/ru/errors.php index 23ee733d..1c8bacfe 100644 --- a/resources/lang/ru/errors.php +++ b/resources/lang/ru/errors.php @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => 'QR-код имеет некорректную контрольную сумму', 'no_readable_qrcode' => 'Нет читаемого QR кода', 'failed_icon_store_database_toggling' => 'Не удалось перенести значки. Настройки были восстановлены в предыдущее значение.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/ru/settings.php b/resources/lang/ru/settings.php index dc991be1..69d48edf 100644 --- a/resources/lang/ru/settings.php +++ b/resources/lang/ru/settings.php @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Убедитесь, что вы скопировали ваш персональный токен доступа прямо сейчас. Вы не сможете увидеть его снова!', 'data_input' => 'Ввод данных', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Изменить настройки', 'setting_saved' => 'Настройки сохранены', @@ -58,19 +59,23 @@ return [ 'help' => 'Часовой пояс применяется ко всем датам и временам, отображаемым в приложении' ], 'show_otp_as_dot' => [ - 'label' => 'Показать сгенерированный код OTP как звёздочки', - 'help' => 'Заменить сгенерированный код на звёздочки (***) для обеспечения конфиденциальности. Это не повлияет на функцию копирования/вставки' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Раскрытие скрытых кодов OTP', + 'label' => 'Reveal obscured OTP', 'help' => 'Разрешить временно раскрывать коды, скрытые звёздочками' ], 'close_otp_on_copy' => [ - 'label' => 'Закрыть OTP после копирования', + 'label' => 'Close OTP after copy', 'help' => 'Нажатие на сгенерированный код, чтобы скопировать его, автоматически скроет его с экрана' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => 'Авто закрытие OTP', + 'label' => 'Auto close OTP', 'help' => 'Автоматически скрывать пароль с экрана после таймаута. Это позволяет избежать ненужных запросов свежих паролей, если вы забыли закрыть просмотр пароля.' ], 'clear_search_on_copy' => [ @@ -82,7 +87,7 @@ return [ 'help' => 'При вызове принудительно сортировать учётные записи с учетом регистра символов' ], 'copy_otp_on_display' => [ - 'label' => 'Копировать OTP при отображении', + 'label' => 'Copy OTP on display', 'help' => 'Автоматически копировать сгенерированный код сразу после его появления на экране. Из-за ограничений браузеров, только первый пароль TOTP будет скопирован, но не последующие' ], 'use_basic_qrcode_reader' => [ @@ -114,7 +119,7 @@ return [ 'automatic' => 'Авто', 'show_accounts_icons' => [ 'label' => 'Показать значки', - 'help' => 'Show account icons in the main view' + 'help' => 'Показывать значки учётных записей на главной' ], 'get_official_icons' => [ 'label' => 'Получить официальные значки', @@ -161,8 +166,8 @@ return [ 'help' => 'Получать email при каждой неудачной попытке войти в вашу учётную запись 2FAuth' ], 'show_email_in_footer' => [ - 'label' => 'Show email in footer', - 'help' => 'Display the logged-in user\'s email in the footer instead of direct navigation links. The links are then available in a menu behind a click/tap on the email address.' + 'label' => 'Показывать email в нижнем колонтитуле', + 'help' => 'Отображать email пользователя в нижнем колонтитуле вместо прямых ссылок. Ссылки будут доступны в меню при нажатии на адрес email адрес.' ], 'otp_generation_on_request' => 'После щелчка/касания', 'otp_generation_on_request_legend' => 'По одиночке, в отдельном окне', diff --git a/resources/lang/ru/twofaccounts.php b/resources/lang/ru/twofaccounts.php index 0d0f4ca9..d5740e08 100644 --- a/resources/lang/ru/twofaccounts.php +++ b/resources/lang/ru/twofaccounts.php @@ -28,15 +28,15 @@ return [ 'account_updated' => 'Учётная запись успешно обновлена.', 'accounts_deleted' => 'Учётная(ые) запись(и) успешно удалена(ы)', 'accounts_moved' => 'Учётная(ые) запись(и) успешно перемещена(ы)', - 'export_selected_accounts' => 'Export selected accounts', - 'twofauth_export_format' => '2FAuth format', - 'twofauth_export_format_sub' => 'Export data using the 2FAuth json schema', - 'twofauth_export_format_desc' => 'You should prefer this option if you need to create a backup that can be restored. This format takes care of the icons.', - 'twofauth_export_format_url' => 'The schema definition is described here:', - 'twofauth_export_schema' => '2FAuth export schema', - 'otpauth_export_format' => 'otpauth URIs', - 'otpauth_export_format_sub' => 'Export data as a list of otpauth URIs', - 'otpauth_export_format_desc' => 'otpauth URI is the most common format used to exchange 2FA data, for example in the form of a QR code when you enable 2FA on a web site. Select this if you want to switch from 2FAuth.', + 'export_selected_accounts' => 'Экспорт выбранных аккаунтов', + 'twofauth_export_format' => '2FAuth формат', + 'twofauth_export_format_sub' => 'Экспорт данных, используя схему 2FAuth json', + 'twofauth_export_format_desc' => 'Предпочтительный вариант, если вам нужно создать резервную копию, которая может быть восстановлена в 2FAuth. Этот формат включает в себя информацию о значках.', + 'twofauth_export_format_url' => 'Определение схемы описывается здесь:', + 'twofauth_export_schema' => 'Схема экспорта 2FAuth', + 'otpauth_export_format' => 'OTPAuth URI', + 'otpauth_export_format_sub' => 'Экспорт данных в список OTPAuth URI', + 'otpauth_export_format_desc' => 'OTPAuth URI - наиболее распространенный формат, используемый для обмена данными 2FA, например, в форме QR-кода, когда вы включаете 2FA на веб-сайте. Выберите этот вариант, если вы хотите сменить 2FAuth на что-то другое.', 'reveal' => 'показать', 'forms' => [ 'service' => [ @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Обычный текст', 'otp_type' => [ - 'label' => 'Выберите тип создаваемого OTP', + 'label' => 'Choose the type of OTP to create', 'help' => 'OTP на основе времени, OTP на основе HMAC или Steam OTP' ], 'digits' => [ diff --git a/resources/lang/ru/validation.php b/resources/lang/ru/validation.php index 8698e416..7b3b0b56 100644 --- a/resources/lang/ru/validation.php +++ b/resources/lang/ru/validation.php @@ -184,7 +184,7 @@ return [ 'image' => 'Поддерживаемый формат - jpeg, png, bmp, gif, svg или webp.', ], 'uri' => [ - 'regex' => 'Значение поля :attribute не является корректным OTPauth URI.', + 'regex' => 'Значение поля :attribute не является корректным OTPAuth URI.', ], 'otp_type' => [ 'in' => 'Значение поля :attribute не поддерживается.', diff --git a/resources/lang/tr/admin.php b/resources/lang/tr/admin.php index 08842aa4..d14c2b6f 100644 --- a/resources/lang/tr/admin.php +++ b/resources/lang/tr/admin.php @@ -14,9 +14,9 @@ return [ */ 'admin' => 'Yönetici', - 'admin_panel' => 'Admin panel', + 'admin_panel' => 'Yönetici paneli', 'app_setup' => 'Uygulama Kurulumu', - 'auth' => 'Auth', + 'auth' => 'Doğrulama', 'registrations' => 'Kayıt', 'users' => 'Kullanıcılar', 'users_legend' => 'Uygulamanızda kayıtlı kullanıcılar yönetin veya yeni kullanıcı oluşturun.', @@ -70,14 +70,14 @@ return [ 'check_now' => 'Kontrol et', 'view_on_github' => 'Github\'da görüntüle', 'x_is_available' => ':version bulunuyor', - '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', + 'successful_login_on' => 'Başarılı giriş :login_at', + 'successful_logout_on' => 'Başarılı çıkış :login_at', + 'failed_login_on' => 'Başarısız giriş denemesi :login_at', + 'viewed_on' => 'Görüntülendi: :login_at', 'last_accesses' => 'Son erişimler', 'see_full_log' => 'Tüm günlüğü gör', 'browser_on_platform' => ':platform üzerinde :browser', - 'access_log_has_more_entries' => 'The access log contains more entries.', + 'access_log_has_more_entries' => 'Erişim günlüğü daha çok girdi içeriyor.', 'access_log_legend_for_user' => ':username kullanıcısının tüm erişim günlüğü', 'show_last_month_log' => 'Geçen aydan girdiler göster', 'show_three_months_log' => 'Geçen 3 aydan girdiler göster', @@ -85,10 +85,10 @@ return [ '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)', - 'database' => 'Database', - 'file_system' => 'File system', - 'storage' => 'Storage', + 'single_sign_on' => 'Tek Noktadan Giriş (SSO)', + 'database' => 'Veritabanı', + 'file_system' => 'Dosya sistemi', + 'storage' => 'Depolama', 'forms' => [ 'use_encryption' => [ 'label' => 'Hassas verileri koru', @@ -111,12 +111,12 @@ return [ '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' => 'Enable SSO', + 'label' => 'SSO Etkinleştir', '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.', + 'label' => 'Sadece SSO kullan', + 'help' => 'SSO\'yu 2FAuth\'a giriş için tek yöntem yapın. Şifre ve Webauthn ile giriş, düz kullanıcılar için devre dışı bırakılacak. Yöneticiler bu durumdan etkilenmez.', ], 'keep_sso_registration_enabled' => [ 'label' => 'SSO ile kayıt olmayı açık tut', @@ -132,16 +132,16 @@ return [ 'email_will_be_send_to_x' => 'ePosta :email adresine iletilecektir', ], 'health_endpoint' => [ - 'label' => 'Health endpoint', - 'help' => 'URL you can visit to check the health of this 2FAuth instance. This URL can be used to set up a Docker HEALTHCHECK or a Kubernetes HTTPS Liveness probe.', + 'label' => 'Sağlık uçnoktası', + 'help' => '2FAuth\'un doğru çalışıp çalışmadığını kontrol edebileceğiniz URL. Bu URL, Docker HEALTHCHECK veya Kubernetes HTTPS Liveness probe\'u ile ayarlanabilir.', ], 'cache_management' => [ 'label' => 'Önbellek yönetimi', 'help' => 'Önbelleğin zaman zaman, örneğin bir değişkenin değiştirilmesinden veya uygulamanın güncellenmesinden sonra, temizlenmesi gerekir. Buradan yapabilirsiniz.', ], 'store_icon_to_database' => [ - 'label' => 'Store icons to database', - 'help' => 'Uploaded icons are registered in the database in addition to the file system storage, which is then used only as a cache. This makes creating a 2FAuth backup much easier, as only the database has to be backed up.

But beware, this may has some drawbacks: The database size may increase significantly if the instance hosts many large icons. It may also affect the application performance because the file system is hit more often to ensure it is synchronised with the database.', + 'label' => 'Simgeleri veritabanında barındır', + 'help' => 'Yüklenen simgeler, yalnızca önbellek olarak kullanılan dosya sistemine ek olarak veritabanına da kaydedilir. 2FAuth\'u yedeklenmesi bu sayede çok kolaylaşır. Yalnızca veritabanını yedeklemeniz yeterli olur.

Ancak bunun bazı dezavantajları olabilir: Örneğin, çok sayıda büyük simgeniz varsa veritabanı boyutu önemli ölçüde artabilir. Ayrıca, veritabanıyla senkronizasyonu nedeniyle dosya sistemine daha sık erişildiği için uygulama performansını da etkilenebilir.', ], ], diff --git a/resources/lang/tr/auth.php b/resources/lang/tr/auth.php index 7690a7b5..ef76440d 100644 --- a/resources/lang/tr/auth.php +++ b/resources/lang/tr/auth.php @@ -22,14 +22,14 @@ return [ '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', + 'if_administrator' => 'Yönetici?', + 'sign_in_here' => 'SSO olmadan giriş yapabilirsiniz', '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', + 'password_login_and_webauthn_are_disabled' => 'Şifre ve WebAuthn ile giriş devre dışı bırakıldı.', + 'sign_in_using_sso' => 'Giriş yapmak için bir SSO sağlayıcısı seçin:', + 'no_provider' => 'sağlayıcı yok', + 'no_sso_provider_or_provider_is_missing' => 'Sağlayıcı yok mu?', + 'see_how_to_enable_sso' => 'Nasıl bir sağlayıcı etkinleştirebileceğinizi görün', 'sign_in_using_security_device' => 'Güvenlik cihazı kullanarak oturum aç', 'login_and_password' => 'kullanıcı & şifre', 'register' => 'Kayıt', @@ -41,7 +41,7 @@ return [ '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', + 'sso_only_x_settings_are_disabled' => 'Kimlik doğrulama yalnızca SSO ile mümkün, :auth_method devre dışı', 'confirm' => [ 'logout' => 'Çıkış yapmak istediğinizden emin misiniz?', 'revoke_device' => 'Bu cihazın yetkilerini iptal etmek istediğinizden emin misiniz?', @@ -87,7 +87,7 @@ return [ 'name' => 'İsim', 'login' => 'Giriş', 'webauthn_login' => 'WebAuthn girişi', - 'sso_login' => 'SSO login', + 'sso_login' => 'SSO girişi', 'email' => 'ePosta', 'password' => 'Parola', 'reveal_password' => 'Parolayı göster', @@ -103,7 +103,7 @@ return [ '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.', + 'sso_only_form_restricted_to_admin' => 'Kullanıcıların SSO ile giriş yapması gerekiyor. Diğer yöntemleri yalnızca yöneticiler kullanabilir.', 'new_password' => 'Yeni parola', 'current_password' => [ 'label' => 'Mevcut parola', @@ -135,7 +135,7 @@ return [ 'caps_lock_is_on' => 'Caps lock Açık', ], 'sso_providers' => [ - 'unknown' => 'unknown', + 'unknown' => 'bilinmiyor', 'github' => 'Github', 'openid' => 'OpenID' ] diff --git a/resources/lang/tr/commons.php b/resources/lang/tr/commons.php index ec8aeb93..68227f0e 100644 --- a/resources/lang/tr/commons.php +++ b/resources/lang/tr/commons.php @@ -88,7 +88,8 @@ return [ 'time' => 'Zaman', 'ip_address' => 'IP Adresi', 'device' => 'Cihaz', - 'one_month' => '1 mo.', - 'x_month' => ':x mos.', - 'one_year' => '1 yr.', + 'one_month' => '1 ay', + 'x_month' => ':x ay', + 'one_year' => '1 yıl', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/tr/errors.php b/resources/lang/tr/errors.php index c628f998..07a7de46 100644 --- a/resources/lang/tr/errors.php +++ b/resources/lang/tr/errors.php @@ -43,8 +43,8 @@ return [ '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' => '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.', + 'unsupported_with_reverseproxy' => 'Bir kimlik doğrulama proxy\'si veya SSO kullanırken geçerli değildir', + 'unsupported_with_sso_only' => 'Bu kimlik doğrulama metodu yalnızca yöneticiler içindir. Kullanıcılar SSO ile giriş yapmalıdır.', '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.', @@ -73,5 +73,7 @@ return [ 'cannot_decode_detected_qrcode' => 'Algılanan QR kodu çözülemiyor, görüntüyü kırpmayı veya netleştirmeyi deneyin', 'qrcode_has_invalid_checksum' => 'QR kodu geçersiz bir checksum\'a sahip', 'no_readable_qrcode' => 'Okunabilir bir QR kodu yok', - 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_icon_store_database_toggling' => 'Simgeler içe aktarılamadı. Seçenek eski haline döndürüldü.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/tr/notifications.php b/resources/lang/tr/notifications.php index 57eb7fb1..f0bbdf6d 100644 --- a/resources/lang/tr/notifications.php +++ b/resources/lang/tr/notifications.php @@ -22,7 +22,7 @@ return [ 'success' => 'Haberler iyi, çalışıyor :)' ], 'new_device' => [ - 'subject' => 'Connection to 2FAuth from a new device', + 'subject' => '2FAuth\'a yeni bir cihazdan erişim', 'resume' => '2FAuth hesabınıza yeni bir cihaz bağlandı.', 'connection_details' => 'Bu bağlantının detayları', 'recommandations' => 'Eğer bu sizseniz, bu uyarı gözardı edebilirsiniz. Eğer hesabınızda şüpheli bir hareket olduğunu düşünüyorsanız, lütfen parolanızı değiştirin.' @@ -31,6 +31,6 @@ return [ 'subject' => '2FAuth uygulamasına başarısız giriş', 'resume' => '2FAuth hesabınıza başarısız bir giriş denemesi yapıldı.', 'connection_details' => 'Bu giriş denemesinin detayları şöyle', - '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.' + 'recommandations' => 'Eğer bu sizseniz, bu uyarıyı göz ardı edebilirsiniz. Eğer daha fazla başarısız giriş denemesi görürseniz, güvenlik ayarlarını gözden geçirmek ve bu saldırgana karşı işlem yapmak için 2FAuth yöneticisiyle iletişime geçmelisiniz.' ], ]; \ No newline at end of file diff --git a/resources/lang/tr/settings.php b/resources/lang/tr/settings.php index 989fc0a7..78c1efa2 100644 --- a/resources/lang/tr/settings.php +++ b/resources/lang/tr/settings.php @@ -29,7 +29,7 @@ return [ 'account_linked_to_sso_x_provider' => ':provider hesabınızı kullanarak SSO girişi yaptınız. Bilgilerinizi buradan değil :provider üzerinden değiştirebilirsiniz.', 'general' => 'Genel', 'security' => 'Güvenlik', - 'notifications' => 'Notifications', + 'notifications' => 'Bildirimler', 'profile' => 'Profil', 'change_password' => 'Parola değiştir', 'personal_access_tokens' => 'Kişisel erişim tokenleri', @@ -43,6 +43,7 @@ return [ ], 'make_sure_copy_token' => 'Kişisel tokeninizi şu anda kopyaladığınızdan emin olun. Bir daha görebilme şansınız olmayacak!', 'data_input' => 'Veri girişi', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => 'Ayarları düzenle', 'setting_saved' => 'Ayarlar kaydedildi', @@ -54,35 +55,39 @@ return [ 'help' => '2FAuth\'un gösterileceği dili değiştirir. Buradaki diller tamamlanmış olup tarayıcınız tarafından tercih edilen dili değiştirmek için seçim yapabilirsiniz.' ], 'timezone' => [ - 'label' => 'Time zone', - 'help' => 'The time zone applied to all dates and times displayed in the application' + 'label' => 'Saat dilimi', + 'help' => 'Saat dilimi, uygulamada gösterilen tüm tarih ve saatler için uygulandı' ], 'show_otp_as_dot' => [ - 'label' => 'Oluşturulan OTP\'yi noktalar olarak göster', - 'help' => 'Oluşturulan paroladaki karakterli, güvenliği arttırmak için, *** olarak gösterir. Kopyala/yapıştır özelliğini etkilemez' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => 'Gizlenmiş OTP\'yi göster', + 'label' => 'Reveal obscured OTP', 'help' => 'Noktalar şeklinde gösterilen parolanın geçici olarak gösterilmesini sağlar' ], 'close_otp_on_copy' => [ - 'label' => 'Kopyaladıktan sonra OTP\'yi kapat', - 'help' => 'Click on a generated password to copy it automatically hides it from the screen' + 'label' => 'Close OTP after copy', + 'help' => 'Oluşturulan kodu kopyalamak için tıkladıktan sonra parolanın ekrandan kaldırılmasını sağlar' + ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' ], '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' => 'Auto close OTP', + 'help' => 'Belirli bir süre sonra ekranda gösterilen kodu otomatik olarak sakla. Bu, kod görünümünü kapatmayı unutursanız gereksiz yere yeni kod isteklerinin önüne geçer.' ], 'clear_search_on_copy' => [ 'label' => 'Kopyaladıktan sonra Aramayı Temizle', 'help' => 'Bir kod panoya kopyalandıktan hemen sonra Arama kutusunu temizler' ], 'sort_case_sensitive' => [ - 'label' => 'Sort case sensitive', - 'help' => 'When invoked, force the Sort function to sort accounts on a case-sensitive basis' + 'label' => 'Büyük/küçük harfe duyarlı sıralama', + 'help' => 'Etkinleştirildiğinde, Sıralama işlevini hesapları büyük/küçük harfe duyarlı bir şekilde sıralayacak şekilde zorlar' ], 'copy_otp_on_display' => [ - 'label' => 'OTP\'yi görününce kopyala', + 'label' => 'Copy OTP on display', 'help' => 'Oluşturulan parolayı, ekranda görünür görünmez, otomatik olarak kopyalar. Tarayıcı sınırlandırmaları nedeniyle, yenilenenler değil yalnızca ilk TOTP kopyalanır' ], 'use_basic_qrcode_reader' => [ @@ -91,7 +96,7 @@ return [ ], 'display_mode' => [ 'label' => 'Görüntüleme modu', - 'help' => 'Hesapların liste olarak mı yoksa ızgara olarak mı görüntülenmesini istediğinizi seçin' + 'help' => 'Hesapların nasıl görünmesini istediğinizi seçin' ], 'password_format' => [ 'label' => 'Parola gösterimi', @@ -114,7 +119,7 @@ return [ 'automatic' => 'Otomatik', 'show_accounts_icons' => [ 'label' => 'Simgeleri göster', - 'help' => 'Show account icons in the main view' + 'help' => 'Ana görünümde hesap simgelerini göster' ], 'get_official_icons' => [ 'label' => 'Özgün simgeleri al', @@ -133,8 +138,8 @@ return [ 'help' => 'OTP kopyalandığında her zaman varsayılan gruba döner', ], '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' => 'Hesapları otomatik kaydet', + 'help' => 'Yeni hesaplar, tarandıktan veya QR kodu yüklendikten sonra otomatik olarak kaydedilir. "Kaydet" butonuna tıklamanıza gerek kalmaz', ], 'useDirectCapture' => [ 'label' => 'Doğrudan giriş', @@ -153,16 +158,16 @@ return [ 'help' => 'OTP\'lerin nasıl ve ne zaman gösterileceğini ayarlar.
', ], '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' => 'Yeni cihazda', + 'help' => 'Yeni bir cihaz 2FAuth hesabınıza ilk kez eriştiğinde bir eposta alın' ], 'notify_on_failed_login' => [ - 'label' => 'On failed login', - 'help' => 'Get an email each time an attempt to connect to your 2FAuth account fails' + 'label' => 'Başarısız girişte', + 'help' => '2FAuth hesabınıza başarısız bir bağlanma denemesi olduğunda eposta alın' ], 'show_email_in_footer' => [ - 'label' => 'Show email in footer', - 'help' => 'Display the logged-in user\'s email in the footer instead of direct navigation links. The links are then available in a menu behind a click/tap on the email address.' + 'label' => 'Epostayı alt bilgide göster', + 'help' => 'Oturum açmış kullanıcının epostasını doğrudan gezinme bağlantıları yerine altbilgide görüntüleyin. Bağlantılara, epostaya tıkladıktan sonra açılan menüden erişilebilir.' ], 'otp_generation_on_request' => 'Tıkladıktan/dokunduktan sonra', 'otp_generation_on_request_legend' => 'Tek, kendi görünüşünde', @@ -173,7 +178,7 @@ return [ 'never' => 'Asla', 'on_otp_copy' => 'Güvenlik kodu kopyalandığında', '1_minutes' => '1 dakika sonra', - '2_minutes' => 'After 2 minutes', + '2_minutes' => '2 dakika sonra', '5_minutes' => '5 dakika sonra', '10_minutes' => '10 dakika sonra', '15_minutes' => '15 dakika sonra', diff --git a/resources/lang/tr/twofaccounts.php b/resources/lang/tr/twofaccounts.php index 0092eacf..4e765b93 100644 --- a/resources/lang/tr/twofaccounts.php +++ b/resources/lang/tr/twofaccounts.php @@ -28,15 +28,15 @@ return [ 'account_updated' => 'Hesap başarı ile güncellendi', 'accounts_deleted' => 'Hesap(lar) başarıyla silindi', 'accounts_moved' => 'Hesap(lar) başarıyla taşındı', - 'export_selected_accounts' => 'Export selected accounts', - 'twofauth_export_format' => '2FAuth format', - 'twofauth_export_format_sub' => 'Export data using the 2FAuth json schema', - 'twofauth_export_format_desc' => 'You should prefer this option if you need to create a backup that can be restored. This format takes care of the icons.', - 'twofauth_export_format_url' => 'The schema definition is described here:', - 'twofauth_export_schema' => '2FAuth export schema', - 'otpauth_export_format' => 'otpauth URIs', - 'otpauth_export_format_sub' => 'Export data as a list of otpauth URIs', - 'otpauth_export_format_desc' => 'otpauth URI is the most common format used to exchange 2FA data, for example in the form of a QR code when you enable 2FA on a web site. Select this if you want to switch from 2FAuth.', + 'export_selected_accounts' => 'Seçili hesapları dışa aktar', + 'twofauth_export_format' => '2FAuth formatı', + 'twofauth_export_format_sub' => 'Verileri, 2FAuth json formatında dışa aktar', + 'twofauth_export_format_desc' => 'Geri yüklenebilecek bir yedekleme oluşturmanız gerekiyorsa bu seçeneği tercih etmelisiniz. Bu seçenek simgeleri de halleder.', + 'twofauth_export_format_url' => 'Bu format açıklaması şöyle açıklanmıştır:', + 'twofauth_export_schema' => '2FAuth dışa aktarma formatı', + 'otpauth_export_format' => 'otpauth URI\'leri', + 'otpauth_export_format_sub' => 'Veriyi, otpauth URI listesi olarak dışa aktar', + 'otpauth_export_format_desc' => 'otpauth URI, 2FA verilerini değiştirmek için kullanılan en yaygın formattır; örneğin bir web sitesinde 2FA\'yı etkinleştirdiğinizde QR kodu biçimindedir. 2FAuth\'tan geçiş yapmak istiyorsanız bunu seçin.', 'reveal' => 'göster', 'forms' => [ 'service' => [ @@ -69,8 +69,8 @@ return [ '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' + 'label' => 'Grup', + 'help' => 'Hesabın ilişkilendirileceği grup' ], 'secret' => [ 'label' => 'Anahtar', @@ -78,7 +78,7 @@ return [ ], 'plain_text' => 'Düz metin', 'otp_type' => [ - 'label' => 'Oluşturulacak OTP\'nin türünü seçin', + 'label' => 'Choose the type of OTP to create', 'help' => 'Zamana dayalı OTP veya HMAC dayalı OTP veya Steam OTP' ], 'digits' => [ @@ -105,7 +105,7 @@ return [ 'placeholder' => 'http://...', 'help' => 'Dış bir resmin URL\'i, hesap simgesi olarak kullanılacak' ], - 'options_help' => 'Aşağıdaki seçenekleri boş bırakabilirsiniz eğer nasıl ayarlanacağını bilmiyorsanız. En yaygın kullanılan değerler uygulanacaktır.', + 'options_help' => 'Neleri seçmeniz gerektiğini bilmiyorsanız aşağıdaki seçenekleri boş bırakabilirsiniz. En yaygın kullanılan değerler uygulanacaktır.', 'alternative_methods' => 'Alternatif yöntem', 'spaces_are_ignored' => 'İstenmeyen boşluklar otomatik olarak kaldırılacaktır' ], @@ -149,7 +149,7 @@ return [ 'import' => 'İçe Aktar', 'to_import' => 'İçe Aktar', 'import_legend' => '2FAuth, çeşitli 2FA uygulamalarından veri alabilir.', - 'import_legend_afterpart' => 'Bu uygulamaların Dışa Aktarma özelliğini kullanarak bir QR kodu veya JSON dosyası gibi bir göç kaynağı alın ve buraya yükleyin.', + 'import_legend_afterpart' => 'Kullandığınız uygulamanın Dışa Aktarma özelliğini kullanarak bir QR kodu veya JSON dosyası oluşturun ve buraya yükleyin.', 'upload' => 'Yükle', 'scan' => 'Tara', 'supported_formats_for_qrcode_upload' => 'Kabul Edilen: jpg, jpeg, png, bmp, gif, svg veya webp', diff --git a/resources/lang/tr/validation.php b/resources/lang/tr/validation.php index 8fc458f8..b983660e 100644 --- a/resources/lang/tr/validation.php +++ b/resources/lang/tr/validation.php @@ -22,7 +22,7 @@ return [ 'alpha_dash' => ':attribute yalnızca harfler, rakamlar, tireler ve alt çizgiler içermelidir.', 'alpha_num' => ':attribute yalnızca harfler ve rakamlar içermelidir.', 'array' => ':attribute bir dizi olmalıdır.', - 'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.', + 'ascii' => ':attribute yalnızca tek baytlık alfanümerik karakterler ve semboller içermelidir.', 'before' => ':attribute, :date tarihinden önce bir tarih olmalıdır.', 'before_or_equal' => ':attribute, :date tarihi ile aynı veya önceki bir tarih olmalıdır.', 'between' => [ @@ -32,14 +32,14 @@ return [ 'string' => ':attribute, :min ve :max karakter aralığında olmalıdır.', ], 'boolean' => ':attribute, doğru veya yanlış olmalıdır.', - 'can' => 'The :attribute field contains an unauthorized value.', + 'can' => ':attribute alanı yetkisiz bir değer içeriyor.', 'confirmed' => ':attribute doğrulaması eşleşmedi.', - 'contains' => 'The :attribute field is missing a required value.', + 'contains' => ':attribute alanında gerekli bir değer eksik.', 'current_password' => 'Parola hatalı.', 'date' => ':attribute geçerli bir tarih değil.', 'date_equals' => ':attribute tarihi, :date tarihine eşit olmalıdır.', 'date_format' => ':attribute :format biçimi ile eşleşmiyor.', - 'decimal' => 'The :attribute field must have :decimal decimal places.', + 'decimal' => ':attribute alanı :decimal kadar ondalık basamağa sahip olmalıdır.', 'declined' => ':attribute reddedilmelidir.', 'declined_if' => ':other, :value olduğunda :attribute reddedilmelidir.', 'different' => ':attribute ve :other birbirinden farklı olmalıdır.', @@ -53,7 +53,7 @@ return [ 'ends_with' => ':attribute şunlardan biriyle bitmelidir: :values.', 'enum' => ':attribute seçimi geçersiz.', 'exists' => ':attribute seçimi geçersiz.', - 'extensions' => 'The :attribute field must have one of the following extensions: :values.', + 'extensions' => ':attribute alanı, şu uzantılardan birine sahip olmalıdır: :values.', 'file' => ':attribute bir dosya olmalıdır.', 'filled' => ':attribute alanının doldurulması zorunludur.', 'gt' => [ @@ -68,7 +68,7 @@ return [ 'numeric' => ':attribute, :value değerinden büyük veya eşit olmalıdır.', 'string' => ':attribute, en az :value karakter içermelidir.', ], - 'hex_color' => 'The :attribute field must be a valid hexadecimal color.', + 'hex_color' => ':attribute alanı geçerli bir onaltılık renk olmalıdır.', 'image' => ':attribute bir görsel olmalı.', 'in' => ':attribute seçimi geçersiz.', 'in_array' => ':attribute değeri :other içinde mevcut değil.', @@ -77,8 +77,8 @@ return [ 'ipv4' => ':attribute geçerli bir IPv4 adresi olmalıdır.', 'ipv6' => ':attribute geçerli bir IPv6 adresi olmalıdır.', 'json' => ':attribute geçerli bir JSON olmalı.', - 'list' => 'The :attribute field must be a list.', - 'lowercase' => 'The :attribute field must be lowercase.', + 'list' => ':attribute alanı bir liste olmalı.', + 'lowercase' => ':attribute alanı yalnızca küçük harfler içermelidir.', 'lt' => [ 'array' => ':attribute, :value ögeden az olmalıdır.', 'file' => ':attribute, :value kilobayttan az olmalıdır.', @@ -108,11 +108,11 @@ return [ 'string' => ':attribute en az :min karakter içermelidir.', ], 'min_digits' => ':attribute en az :min rakam içermelidir.', - 'missing' => 'The :attribute field must be missing.', - 'missing_if' => 'The :attribute field must be missing when :other is :value.', - 'missing_unless' => 'The :attribute field must be missing unless :other is :value.', - 'missing_with' => 'The :attribute field must be missing when :values is present.', - 'missing_with_all' => 'The :attribute field must be missing when :values are present.', + 'missing' => ':attribute alanı eksik olmalı.', + 'missing_if' => ':attribute alanı, :other :value olduğunda, boş olmalıdır.', + 'missing_unless' => ':other, :value olmadığı sürece :attribute alanı eksik olmalıdır.', + 'missing_with' => ':values mevcut olduğunda :attribute alanı boş olmalıdır.', + 'missing_with_all' => ':values mevcut olduğunda :attribute alanı boş olmalıdır.', 'multiple_of' => ':attribute, :values değerinin katı olmalıdır.', 'not_in' => ':attribute seçimi geçersiz.', 'not_regex' => ':attribute formatı geçersiz.', @@ -125,10 +125,10 @@ return [ 'uncompromised' => 'Girilen :attribute bir veri sızıntısında ortaya çıktı. Lütfen farklı bir :attribute seçin.', ], 'present' => ':attribute alanı dolu olmalı.', - 'present_if' => 'The :attribute field must be present when :other is :value.', - 'present_unless' => 'The :attribute field must be present unless :other is :value.', - 'present_with' => 'The :attribute field must be present when :values is present.', - 'present_with_all' => 'The :attribute field must be present when :values are present.', + 'present_if' => ':other :valiue olduğunda, :attribute mevcut olmalıdır.', + 'present_unless' => ':other, :value olmadığı sürece :attribute alanı mevcut olmalıdır.', + 'present_with' => ':values mevcut olduğunda :attribute alanı da mevcut olmalıdır.', + 'present_with_all' => ':values mevcut olduğunda :attribute alanı da mevcut olmalıdır.', 'prohibited' => ':attribute alanı engellenmiştir.', 'prohibited_if' => ':other :value iken :attribute alanı engellenmiştir.', 'prohibited_unless' => ':attribute alanı, :other alanı :value değerlerinden birine sahip olmadığı sürece engellenmiştir.', @@ -138,7 +138,7 @@ return [ 'required_array_keys' => ':attribute alanı aşağıdakiler için girişler içermelidir: :values.', 'required_if' => ':other :value iken :attribute alanı gereklidir.', 'required_if_accepted' => ':other kabul edildiğinde :attribute alanı gereklidir.', - 'required_if_declined' => 'The :attribute field is required when :other is declined.', + 'required_if_declined' => ':other reddedildiğinde :attribute alanı gereklidir.', 'required_unless' => ':attribute alanı, :other alanı :value değerlerinden birine sahip olmadığında zorunludur.', 'required_with' => ':values varsa :attribute alanı zorunludur.', 'required_with_all' => ':values mevcut ise :attribute alanları zorunludur.', @@ -156,9 +156,9 @@ return [ 'timezone' => ':attribute geçerli bir saat dilimi olmalıdır.', 'unique' => ':attribute daha önceden kayıt edilmiş.', 'uploaded' => ':attribute yüklemesi başarısız.', - 'uppercase' => 'The :attribute field must be uppercase.', + 'uppercase' => ':attribute alanı yalnızca BÜYÜK HARFLER içermelidir.', 'url' => ':attribute geçerli bir URL olmalıdır.', - 'ulid' => 'The :attribute field must be a valid ULID.', + 'ulid' => ':attribute alanı geçerli bir ULID olmalıdır.', 'uuid' => ':attribute geçerli bir UUID olmalıdır.', 'single' => ':attribute kullanıldığında, istek gövdesindeki tek parametre bu olmalıdır', diff --git a/resources/lang/uk/admin.php b/resources/lang/uk/admin.php new file mode 100644 index 00000000..584e5cbb --- /dev/null +++ b/resources/lang/uk/admin.php @@ -0,0 +1,148 @@ + 'Admin', + 'admin_panel' => 'Admin panel', + '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)', + 'database' => 'Database', + 'file_system' => 'File system', + 'storage' => 'Storage', + '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', + ], + 'health_endpoint' => [ + 'label' => 'Health endpoint', + 'help' => 'URL you can visit to check the health of this 2FAuth instance. This URL can be used to set up a Docker HEALTHCHECK or a Kubernetes HTTPS Liveness probe.', + ], + '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.', + ], + 'store_icon_to_database' => [ + 'label' => 'Store icons to database', + 'help' => 'Uploaded icons are registered in the database in addition to the file system storage, which is then used only as a cache. This makes creating a 2FAuth backup much easier, as only the database has to be backed up.

But beware, this may has some drawbacks: The database size may increase significantly if the instance hosts many large icons. It may also affect the application performance because the file system is hit more often to ensure it is synchronised with the database.', + ], + ], + +]; \ No newline at end of file diff --git a/resources/lang/uk/auth.php b/resources/lang/uk/auth.php new file mode 100644 index 00000000..2c80d4a2 --- /dev/null +++ b/resources/lang/uk/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/uk/commons.php b/resources/lang/uk/commons.php new file mode 100644 index 00000000..7e92efdb --- /dev/null +++ b/resources/lang/uk/commons.php @@ -0,0 +1,95 @@ + '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.', + 'copy_next_password' => 'Copy next password to clipboard', +]; diff --git a/resources/lang/uk/errors.php b/resources/lang/uk/errors.php new file mode 100644 index 00000000..3aa6e35b --- /dev/null +++ b/resources/lang/uk/errors.php @@ -0,0 +1,79 @@ + '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', + 'failed_icon_store_database_toggling' => 'Migration of icons failed. The setting has been restored to its previous value.', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', +]; \ No newline at end of file diff --git a/resources/lang/uk/groups.php b/resources/lang/uk/groups.php new file mode 100644 index 00000000..0a1124be --- /dev/null +++ b/resources/lang/uk/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/uk/languages.php b/resources/lang/uk/languages.php new file mode 100644 index 00000000..27f368b6 --- /dev/null +++ b/resources/lang/uk/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/uk/notifications.php b/resources/lang/uk/notifications.php new file mode 100644 index 00000000..cdeab118 --- /dev/null +++ b/resources/lang/uk/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/uk/pagination.php b/resources/lang/uk/pagination.php new file mode 100644 index 00000000..d4814118 --- /dev/null +++ b/resources/lang/uk/pagination.php @@ -0,0 +1,19 @@ + '« Previous', + 'next' => 'Next »', + +]; diff --git a/resources/lang/uk/passwords.php b/resources/lang/uk/passwords.php new file mode 100644 index 00000000..a25271a3 --- /dev/null +++ b/resources/lang/uk/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/uk/settings.php b/resources/lang/uk/settings.php new file mode 100644 index 00000000..cfd80cb8 --- /dev/null +++ b/resources/lang/uk/settings.php @@ -0,0 +1,193 @@ + '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', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', + '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 characters with *** to ensure confidentiality. Does 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' + ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], + '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 account icons 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' + ], + 'show_email_in_footer' => [ + 'label' => 'Show email in footer', + 'help' => 'Display the logged-in user\'s email in the footer instead of direct navigation links. The links are then available in a menu behind a click/tap on the email address.' + ], + '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/uk/titles.php b/resources/lang/uk/titles.php new file mode 100644 index 00000000..85802fe8 --- /dev/null +++ b/resources/lang/uk/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/uk/twofaccounts.php b/resources/lang/uk/twofaccounts.php new file mode 100644 index 00000000..37ca1029 --- /dev/null +++ b/resources/lang/uk/twofaccounts.php @@ -0,0 +1,182 @@ + '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_accounts' => 'Export selected accounts', + 'twofauth_export_format' => '2FAuth format', + 'twofauth_export_format_sub' => 'Export data using the 2FAuth json schema', + 'twofauth_export_format_desc' => 'You should prefer this option if you need to create a backup that can be restored. This format takes care of the icons.', + 'twofauth_export_format_url' => 'The schema definition is described here:', + 'twofauth_export_schema' => '2FAuth export schema', + 'otpauth_export_format' => 'otpauth URIs', + 'otpauth_export_format_sub' => 'Export data as a list of otpauth URIs', + 'otpauth_export_format_desc' => 'otpauth URI is the most common format used to exchange 2FA data, for example in the form of a QR code when you enable 2FA on a web site. Select this if you want to switch from 2FAuth.', + '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/uk/validation.php b/resources/lang/uk/validation.php new file mode 100644 index 00000000..e3ef0d3e --- /dev/null +++ b/resources/lang/uk/validation.php @@ -0,0 +1,227 @@ + 'Ви повинні прийняти :attribute.', + 'accepted_if' => 'Поле :attribute має бути прийнятним, коли :other є :value.', + 'active_url' => 'Поле :attribute не є правильним URL.', + 'after' => 'Поле :attribute має містити дату не раніше :date.', + 'after_or_equal' => 'Поле :attribute має містити дату не раніше, або дорівнюватися :date.', + 'alpha' => 'Поле :attribute має містити лише літери.', + 'alpha_dash' => 'Поле :attribute має містити лише літери, цифри, тире та підкреслення.', + 'alpha_num' => 'Поле :attribute має містити лише літери та цифри.', + 'array' => 'Поле :attribute має бути масивом.', + 'ascii' => 'Поле :attribute має містити лише однобайтові буквено-цифрові знаки та символи.', + 'before' => 'Поле :attribute має містити дату не пізніше :date.', + 'before_or_equal' => 'Поле :attribute має містити дату не пізніше, або дорівнюватися :date.', + 'between' => [ + 'array' => 'Поле :attribute має містити від :min до :max елементів.', + 'file' => 'Розмір файлу у полі :attribute має бути не менше :min та не більше :max кілобайт.', + 'numeric' => 'Поле :attribute має бути між :min та :max.', + 'string' => 'Текст у полі :attribute має бути не менше :min та не більше :max символів.', + ], + 'boolean' => 'Поле :attribute повинне містити логічний тип.', + 'can' => 'Поле :attribute містить неавторизоване значення.', + 'confirmed' => 'Поле :attribute не збігається з підтвердженням.', + 'contains' => 'Поле :attribute має містити обов\'язкове значення.', + 'current_password' => 'Пароль неправильний.', + 'date' => 'Поле :attribute не є датою.', + 'date_equals' => 'Поле :attribute має бути датою рівною :date.', + 'date_format' => 'Поле :attribute не відповідає формату :format.', + 'decimal' => 'Поле :attribute має містити :decimal десяткових знаків.', + 'declined' => 'Поле :attribute має бути відхилено.', + 'declined_if' => 'Поле :attribute має бути відхилено, якщо :other є :value.', + '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 не існує.', + 'extensions' => 'Файл у полі :attribute повинен мати одне з наступних розширень: :values.', + 'file' => 'Поле :attribute має містити файл.', + 'filled' => 'Поле :attribute є обов\'язковим для заповнення.', + 'gt' => [ + 'array' => 'Поле :attribute має містити більше ніж :value елементів.', + 'file' => 'Поле :attribute має бути більше ніж :value кілобайт.', + 'numeric' => 'Поле :attribute має бути більше ніж :value.', + 'string' => 'Поле :attribute має бути більше ніж :value символів.', + ], + 'gte' => [ + 'array' => 'Поле :attribute має містити :value чи більше елементів.', + 'file' => 'Поле :attribute має дорівнювати чи бути більше ніж :value кілобайт.', + 'numeric' => 'Поле :attribute має дорівнювати чи бути більше ніж :value.', + 'string' => 'Поле :attribute має дорівнювати чи бути більше ніж :value символів.', + ], + 'hex_color' => 'Поле :attribute має мати дійсний шістнадцятковий колір.', + 'image' => 'Поле :attribute має містити зображення.', + 'in' => 'Значення поля :attribute відсутнє у списку допустимих значень.', + 'in_array' => 'Значення поля :attribute не міститься в :other.', + 'integer' => 'Поле :attribute має містити ціле число.', + 'ip' => 'Поле :attribute має містити IP адресу.', + 'ipv4' => 'Поле :attribute має містити IPv4 адресу.', + 'ipv6' => 'Поле :attribute має містити IPv6 адресу.', + 'json' => 'Дані поля :attribute мають бути у форматі JSON.', + 'list' => 'Значення поля :attribute має бути списком.', + 'lowercase' => 'Поле :attribute має бути рядком у нижньому регістрі', + 'lt' => [ + 'array' => 'Поле :attribute має містити менше ніж :value items.', + 'file' => 'Поле :attribute має бути менше ніж :value кілобайт.', + 'numeric' => 'Поле :attribute має бути менше ніж :value.', + 'string' => 'Поле :attribute має бути менше ніж :value символів.', + ], + 'lte' => [ + 'array' => 'Поле :attribute має містити не більше ніж :value елементів.', + 'file' => 'Поле :attribute має дорівнювати чи бути менше ніж :value кілобайт.', + 'numeric' => 'Поле :attribute має дорівнювати чи бути менше ніж :value.', + 'string' => 'Поле :attribute має дорівнювати чи бути менше ніж :value символів.', + ], + 'mac_address' => 'Поле :attribute має містити MAC адресу.', + 'max' => [ + 'array' => 'Поле :attribute повинне містити не більше :max елементів.', + 'file' => 'Файл в полі :attribute має бути не більше :max кілобайт.', + 'numeric' => 'Поле :attribute має бути не більше :max.', + 'string' => 'Текст в полі :attribute повинен мати довжину не більшу за :max.', + ], + 'max_digits' => 'Поле :attribute не може містити більше :max цифр.', + 'mimes' => 'Поле :attribute повинне містити файл одного з типів: :values.', + 'mimetypes' => 'Поле :attribute повинне містити файл одного з типів: :values.', + 'min' => [ + 'array' => 'Поле :attribute повинне містити не менше :min елементів.', + 'file' => 'Розмір файлу у полі :attribute має бути не меншим :min кілобайт.', + 'numeric' => 'Поле :attribute повинне бути не менше :min.', + 'string' => 'Текст у полі :attribute повинен містити не менше :min символів.', + ], + 'min_digits' => 'Поле :attribute має містити принаймні :min цифр.', + 'missing' => 'Поле :attribute має бути відсутнім.', + 'missing_if' => 'Поле :attribute має бути відсутнім, якщо :other дорівнює :value.', + 'missing_unless' => 'Поле :attribute має бути відсутнім, якщо :other не є :value.', + 'missing_with' => 'Поле :attribute повинно бути відсутнім, якщо присутнє :values.', + 'missing_with_all' => 'Поле :attribute повинно бути відсутнім, якщо присутні :values.', + 'multiple_of' => 'Поле :attribute повинно бути кратним :value', + 'not_in' => 'Значення поля :attribute не повинно бути у списку.', + 'not_regex' => 'Формат поля :attribute не вірний.', + 'numeric' => 'Поле :attribute повинно містити число.', + 'password' => [ + 'letters' => 'Поле :attribute має містити принаймні одну літеру.', + 'mixed' => 'Поле :attribute має містити принаймні одну велику та одну малу літери.', + 'numbers' => 'Поле :attribute має містити принаймні одне число.', + 'symbols' => 'Поле :attribute має містити принаймні один символ.', + 'uncompromised' => 'Поле :attribute з\'явився під час витоку даних. Виберіть інший :attribute.', + ], + 'present' => 'Поле :attribute повинне бути присутнє.', + 'present_if' => 'Поле :attribute має бути присутнім, коли :other дорівнює :value.', + 'present_unless' => 'Поле :attribute повинно бути присутнім, якщо :other не є :value.', + 'present_with' => 'Поле :attribute повинно бути присутнім, коли присутній :values.', + 'present_with_all' => 'Поле :attribute повинно бути присутнім, якщо присутні :values.', + 'prohibited' => 'Поле :attribute заборонено.', + 'prohibited_if' => 'Поле :attribute заборонено, коли :other дорівнює :value.', + 'prohibited_unless' => 'Поле :attribute заборонено, якщо тільки :other не знаходиться в :values.', + 'prohibits' => 'Поле :attribute забороняє присутність :other.', + 'regex' => 'Поле :attribute має хибний формат.', + 'required' => 'Поле :attribute є обов\'язковим для заповнення.', + 'required_array_keys' => 'Поле :attribute має містити записи для: :values.', + 'required_if' => 'Поле :attribute є обов\'язковим для заповнення, коли :other є рівним :value.', + 'required_if_accepted' => 'Поле :attribute є обов\'язковим, якщо прийнято :other.', + 'required_if_declined' => 'Поле :attribute є обов\'язковим, якщо відхилено :other.', + 'required_unless' => 'Поле :attribute є обов\'язковим для заповнення, коли :other відрізняється від :values', + 'required_with' => 'Поле :attribute є обов\'язковим для заповнення, коли :values вказано.', + 'required_with_all' => 'Поле :attribute є обов\'язковим для заповнення, коли :values вказано.', + 'required_without' => 'Поле :attribute є обов\'язковим для заповнення, коли :values не вказано.', + 'required_without_all' => 'Поле :attribute є обов\'язковим для заповнення, коли :values не вказано.', + 'same' => 'Поля :attribute та :other мають збігатися.', + 'size' => [ + 'array' => 'Поле :attribute повинне містити :size елементів.', + 'file' => 'Файл у полі :attribute має бути розміром :size кілобайт.', + 'numeric' => 'Поле :attribute має бути довжини :size.', + 'string' => 'Текст у полі :attribute повинен містити :size символів.', + ], + 'starts_with' => 'Поле :attribute повинне починатися з одного з наступних значень: :values', + 'string' => 'Поле :attribute повинне містити текст.', + 'timezone' => 'Поле :attribute повинне містити коректну часову зону.', + 'unique' => 'Вказане значення поля :attribute вже існує.', + 'uploaded' => 'Завантаження :attribute не вдалося.', + 'uppercase' => 'Поле :attribute має бути рядком у верхньому регістрі.', + 'url' => 'Формат поля :attribute хибний.', + 'ulid' => 'Поле :attribute має бути коректним ULID.', + 'uuid' => 'Поле :attribute має бути коректним 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 field 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 field is not a valid otpauth uri.', + ], + 'otp_type' => [ + 'in' => 'The :attribute field 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 field must be a base32 encoded string.', + ], + 'account' => [ + 'regex' => 'The :attribute field must not contain colon.', + ], + 'service' => [ + 'regex' => 'The :attribute field 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/zh/admin.php b/resources/lang/zh/admin.php index 6b14fb4e..9fef6d1c 100644 --- a/resources/lang/zh/admin.php +++ b/resources/lang/zh/admin.php @@ -14,12 +14,12 @@ return [ */ 'admin' => '管理员', - 'admin_panel' => '管理面板', - 'app_setup' => '应用设置', + 'admin_panel' => '系统管理', + 'app_setup' => '程序', 'auth' => '鉴权', 'registrations' => '注册', 'users' => '用户', - 'users_legend' => '管理此实例上的已注册用户,或创建新的用户。', + 'users_legend' => '管理当前节点上的已注册用户,或创建一个新的用户。', 'admin_settings' => '管理员设置', 'create_new_user' => '创建新用户', 'new_user' => '新用户', @@ -92,11 +92,11 @@ return [ 'forms' => [ 'use_encryption' => [ 'label' => '保护敏感数据', - 'help' => '敏感数据、2FA 秘钥和邮箱地址会以加密形式储存在数据库中。请务必备份您在 .env 中设置的 APP_KEY 的值 (或备份整个 .env 文件)。如果此密钥丢失,那么已加密的数据将无法解密。', + 'help' => '敏感数据、2FA 秘钥和邮箱地址会以加密形式储存在数据库中。请您务必备份在 .env 中配置的 APP_KEY 的值 (或备份整个 .env 文件)。如果此密钥丢失,那么已加密的数据将无法解密。', ], 'restrict_registration' => [ 'label' => '限制注册', - 'help' => '只允许范围内的邮箱地址进行注册,下列的两条规则可以同时使用。SSO 注册流程不受此限制的影响。', + 'help' => '只允许符合规则的邮箱地址进行注册。可以同时使用下方的两条规则来进行限制。SSO 的注册流程不受此限制的影响。', ], 'restrict_list' => [ 'label' => '过滤列表', @@ -108,19 +108,19 @@ return [ ], 'disable_registration' => [ 'label' => '关闭注册', - 'help' => '防止新用户注册。除非被覆盖 (见下文)。此设置也会影响到 SSO 的注册流程,所以新用户将无法通过 SSO 登录', + 'help' => '防止新用户注册,除非有例外 (见下方选项)。此选项也会禁用通过 “SSO 登录” 产生的注册行为,所以新用户将无法通过 SSO 登录', ], 'enable_sso' => [ 'label' => '启用 SSO', 'help' => '允许访客通过单点登录的方式,使用外部 ID 进行身份验证', ], 'use_sso_only' => [ - 'label' => '仅使用 SSO', - 'help' => '仅允许通过 SSO。启用此功能后,普通用户将无法使用密码和 WebAuthn 登录到 2FAuth,但管理员不受此限制的影响。', + 'label' => '仅允许 SSO 登录', + 'help' => '仅允许通过 SSO 进行登录。启用此功能后,普通用户将无法使用密码和 WebAuthn 来登录 2FAuth,但管理员不受此限制的影响。', ], 'keep_sso_registration_enabled' => [ - 'label' => '保持启用 SSO 注册', - 'help' => '在注册已禁用时允许新用户通过 SSO 登录', + 'label' => '仍然允许 SSO 注册', + 'help' => '在注册被禁用时,仍然允许新用户通过 SSO 登录', ], 'is_admin' => [ 'label' => '管理员', @@ -128,20 +128,21 @@ return [ ], 'test_email' => [ 'label' => '测试送信配置', - 'help' => '发送测试邮件来验证送信配置是否正确。如果发送邮件的配置不正确,用户将无法请求重置密码。', - 'email_will_be_send_to_x' => '邮件将被发送到 :email', + 'help' => '发送测试邮件来验证送信配置是否正确。如果没有正确地配置邮件服务器,用户将无法收到 “重置密码” 的邮件。', + 'email_will_be_send_to_x' => '将发送邮件到此地址: :email', ], 'health_endpoint' => [ 'label' => '节点健康检查', - 'help' => '您可以访问此 URL 来检查此 2FAuth 实例的健康状况。您可以在 Docker 的 HEALTHCKECK,或 Kubernetes 的 HTTPS Liveness 探针中使用此 URL 来进行健康检查。', + 'help' => '您可以访问此 URL 来检查当前 2FAuth 应用的健康状况。 +您可以将此 URL 配置在 Docker 的 “HEALTHCHECK”,或是 Kubernetes 的 “livenessProbe” 中,来对服务进行健康检查。', ], 'cache_management' => [ 'label' => '缓存管理', - 'help' => '某些情况下需要清除缓存,例如更改了环境变量,或更新了应用。您可以在此处进行缓存清理。', + 'help' => '某些情况下需要清除缓存,例如更改了环境变量,或 2FAuth 进行了升级。您可以在此处手动清理缓存。', ], 'store_icon_to_database' => [ 'label' => '保存图标至数据库', - 'help' => '除了储存到文件系统外,上传的图标还会被注册到数据库中充当缓存。这种方式可以令备份 2FAuth 更便捷,因为仅有数据库需要备份。

但要注意的是,这可能会产生负面效果:如果保存了大量的大体积图标,那么数据库的体积也会显著增大。这同时也可能会影响应用的性能,因为需要频繁地读写文件系统,来保证图标数据与数据库保持同步。', + 'help' => '上传的图标除了储存到磁盘里,还会被注册到数据库中充当缓存。
启用此功能可以令 2FAuth 更便于备份,因为仅备份数据库,即可包含所有的数据与图标。
但要注意的是,此功能可能会产生负面效果:如果上传了大量的大体积图标,那么数据库的体积也会显著地增大。这同时也可能会影响应用的性能,因为需要频繁地读写磁盘,来保证图标数据与数据库保持同步。', ], ], diff --git a/resources/lang/zh/auth.php b/resources/lang/zh/auth.php index f4b28bc7..8b58384d 100644 --- a/resources/lang/zh/auth.php +++ b/resources/lang/zh/auth.php @@ -53,7 +53,7 @@ return [ 'security_devices_legend' => '您可以用来登录 2FAuth 的认证设备,例如安全密钥 (如 Yubikey) 或具有生物识别能力的智能手机 (如 Apple FaceID / TouchID)', 'enhance_security_using_webauthn' => '您可以启用 WebAuthn 身份验证来增强您 2FAuth 账户的安全性。

WebAuthn 允许您使用受信任的设备 (如 Yubikeys 或具有生物识别功能的智能手机) 来安全、快捷地进行登录验证。', - 'use_security_device_to_sign_in' => '若要使用您的某个安全设备进行身份验证,请插入您的密钥设备,并摘下口罩或手套。', + 'use_security_device_to_sign_in' => '若要使用安全设备进行身份验证,请根据验证类型,插入您的密钥设备,或取下口罩 (或手套) 进行生物验证。', 'lost_your_device' => '设备已遗失?', 'recover_your_account' => '恢复您的账号', 'account_recovery' => '恢复账号', @@ -61,13 +61,13 @@ WebAuthn 允许您使用受信任的设备 (如 Yubikeys 或具有生物识别 '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 将会重置部分 Webauthn 相关的设置,以便您可以使用邮箱和密码进行登录。', + 'recover_account_instructions' => '为了恢复您的账户,2FAuth 将会重置部分 WebAuthn 相关的设置,以便您可以使用邮箱和密码进行登录。', 'invalid_recovery_token' => '恢复令牌无效', 'webauthn_login_disabled' => 'Webauthn 登录已被禁用', 'invalid_reset_token' => '此密码重置令牌无效', @@ -77,8 +77,8 @@ WebAuthn 允许您使用受信任的设备 (如 Yubikeys 或具有生物识别 'use_webauthn_only' => [ 'label' => '仅允许 WebAuthn', 'help' => '将 WebAuthn 设为 2FAuth 的唯一鉴权方式。若要发挥 WebAuth 的最佳安全性,推荐启用此选项。

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

- 请注意! 此选项启用后仍会显示邮箱和密码的登录界面,但尝试登录时永远会提示 “身份验证失败”。' + 当设备丢失时, 您可以重置此选项来恢复您的账户,并使用您的邮箱与密码来登录。

+ 请注意! 启用此选项后,2FAuth 不会禁用邮箱和密码的登录界面,但如果尝试使用邮箱登录,则永远会提示 “身份验证失败”。' ], 'need_a_security_device_to_enable_options' => '若要启用下列选项,请添加 1 个 WebAuthn 设备。', 'options' => '选项', @@ -112,19 +112,19 @@ WebAuthn 允许您使用受信任的设备 (如 Yubikeys 或具有生物识别 'change_password' => '修改密码', 'send_password_reset_link' => '发送密码重置链接', 'password_successfully_reset' => '密码重置成功', - 'edit_account' => '编辑账户', + '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_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' => '删除我的账户', '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' => '账号删除成功', + 'deleting_2fauth_account_does_not_impact_provider' => '删除此 2FAuth 账户不会影响您的外部 SSO 账户。', + 'user_account_successfully_deleted' => '账户删除成功', 'has_lower_case' => '包含小写字母', 'has_upper_case' => '包含大写字母', 'has_special_char' => '包含特殊字符', diff --git a/resources/lang/zh/commons.php b/resources/lang/zh/commons.php index 7e72cacb..66e0bfdf 100644 --- a/resources/lang/zh/commons.php +++ b/resources/lang/zh/commons.php @@ -38,7 +38,7 @@ return [ 'back' => '返回', 'move' => '移动', 'export' => '导出', - 'all' => '全部', + 'all' => '所有账号', 'check_all' => '全选', 'select_all' => '全选', 'clear_selection' => '清除选择', @@ -59,16 +59,16 @@ return [ 'usefull_links' => '实用网站', 'environment' => '环境变量', 'credits' => '鸣谢', - '2fauth_teaser' => '本网页 App 可助您管理两步验证 (2FA) 账户,并生成对应的验证码', + '2fauth_teaser' => '本网页 App 可助您管理两步验证 (2FA) 账号,并生成对应的验证码', 'made_with' => '基于', 'ui_icons_by' => 'UI 图标来自', 'logos_by' => 'Logo 来自', 'search' => '搜索​​​​', 'resources' => '资源', 'check_for_update' => '检查更新', - 'check_for_update_help' => '自动检查更新 (每周一次)。当在 Github 上发现 2FAuth 的新版本时会发出更新提醒', + 'check_for_update_help' => '自动检查更新 (每周一次)。当发现 2FAuth 有新版本时,会发出更新提醒', 'you_are_up_to_date' => '已是最新版', - '2fauth_description' => '本网页 App 可助您管理两步验证 (2FA) 账户,并生成对应的验证码', + '2fauth_description' => '此网页 App 可助您管理两步验证 (2FA) 账号,并生成对应的验证码', 'image_of_qrcode_to_scan' => '要扫描的二维码图像', 'file' => '文件', 'or' => '或', @@ -91,4 +91,5 @@ return [ 'one_month' => '1 个月', 'x_month' => ':x 个月', 'one_year' => '1 年', + 'copy_next_password' => 'Copy next password to clipboard', ]; diff --git a/resources/lang/zh/errors.php b/resources/lang/zh/errors.php index 8172210d..910c87f1 100644 --- a/resources/lang/zh/errors.php +++ b/resources/lang/zh/errors.php @@ -57,8 +57,8 @@ return [ 'file_upload_failed' => '文件上传失败', 'unauthorized' => '无权限', 'unauthorized_legend' => '您无权查看此资源或执行此操作', - 'cannot_delete_the_only_admin' => '无法删除唯一的管理员账户', - 'cannot_demote_the_only_admin' => '无法降级此唯一的管理员账户', + 'cannot_delete_the_only_admin' => '这是唯一的管理员账户,无法删除', + 'cannot_demote_the_only_admin' => '这是唯一的管理员账户,无法降级', 'error_during_data_fetching' => '💀 获取数据时出错', 'check_failed_try_later' => '检查失败,请稍后重试', 'sso_disabled' => 'SSO 已禁用', @@ -74,4 +74,6 @@ return [ 'qrcode_has_invalid_checksum' => '二维码的校验码错误', 'no_readable_qrcode' => '没有可识别的二维码', 'failed_icon_store_database_toggling' => '图标迁移失败,相关设置已恢复为先前的值。', + 'failed_to_retrieve_app_settings' => 'Failed to retrieve application settings', + 'reserved_name_please_choose_something_else' => 'Reserved name, please choose something else', ]; \ No newline at end of file diff --git a/resources/lang/zh/groups.php b/resources/lang/zh/groups.php index 325560a3..29ccdb7e 100644 --- a/resources/lang/zh/groups.php +++ b/resources/lang/zh/groups.php @@ -17,15 +17,15 @@ return [ 'create_group' => '新建分组', 'show_group_selector' => '显示分组筛选', 'hide_group_selector' => '隐藏分组筛选', - 'select_accounts_to_show' => '选择要显示的账户分组', - 'x_accounts' => ':count 个账户', + 'select_accounts_to_show' => '选择要显示的分组', + 'x_accounts' => ':count 个账号', 'manage_groups' => '管理分组', 'active_group' => '最近更新', - 'manage_groups_legend' => '您可以创建并按分组的形式来整理您的账户。无论账户处于哪个组内,都将在 “全部” 分组中显示。', - 'deleting_group_does_not_delete_accounts' => '删除分组不会删除账户', + 'manage_groups_legend' => '您可以创建分组来归纳您的账号。无论账号处于哪个组内,都将在 “所有账号” 分组中显示。', + 'deleting_group_does_not_delete_accounts' => '删除分组时,组内的账号不会被删除', 'move_selected_to' => '移动所选项到', - 'move_selected_to_group' => '将所选移入分组中', - 'no_group' => '没有分组', + 'move_selected_to_group' => '移动所选项到分组中', + 'no_group' => '未分组', 'change_group' => '更改分组', 'group_successfully_created' => '分组创建成功', 'group_name_saved' => '分组名称已保存', diff --git a/resources/lang/zh/notifications.php b/resources/lang/zh/notifications.php index ff278770..ac83a3f2 100644 --- a/resources/lang/zh/notifications.php +++ b/resources/lang/zh/notifications.php @@ -18,19 +18,19 @@ return [ 'regards' => '此致', 'test_email_settings' => [ 'subject' => '2FAuth 测试邮件', - 'reason' => '之所以您会收到这封邮件,是因为您请求了一封测试邮件来验证您 2FAuth 的电子邮件送信配置。', + 'reason' => '您之所以会收到这封邮件,是因为您要求发送一封测试邮件,来验证您 2FAuth 的上邮件发送功能是否能正常工作。', 'success' => '恭喜您,功能正常 :)' ], 'new_device' => [ 'subject' => '来自新设备的访问', - 'resume' => '一台新设备刚被添加到您的 2FAuth 账户上。', + 'resume' => '您的 2FAuth 账户有来自新设备的登录。', 'connection_details' => '这是本次事件的相关信息', - 'recommandations' => '如果是您操作的,您可以忽略此告警。如果您怀疑您的账户有任何可疑活动,请立即更改您的密码。' + 'recommandations' => '如果是您操作的,您可以忽略此告警。如果您怀疑自己的账户有任何可疑活动,请立即更改您的密码。' ], 'failed_login' => [ 'subject' => '2FAuth 登录失败', - 'resume' => '您的 2FAuth 账户触发了一次登录失败。', + 'resume' => '您的 2FAuth 账户触发了一次登录失败警告。', 'connection_details' => '这是本次事件的相关信息', - 'recommandations' => '如果是您操作的,您可以忽略此告警。如果持续有失败的登录尝试,您应立即通知 2FAuth 的管理员去检查相关的安全设置,并对此攻击者采取措施。' + 'recommandations' => '如果这是您触发的,您可以忽略此告警。但如果不是您,且持续有登录失败的警告的话,您应立即通知 2FAuth 的管理员去检查相关的安全设置,并对此攻击者采取措施。' ], ]; \ No newline at end of file diff --git a/resources/lang/zh/settings.php b/resources/lang/zh/settings.php index a836052a..badb627f 100644 --- a/resources/lang/zh/settings.php +++ b/resources/lang/zh/settings.php @@ -13,13 +13,13 @@ return [ | */ - 'settings' => '设置', + 'settings' => '用户设置', 'preferences' => '偏好设置', 'account' => '账户', 'oauth' => 'OAuth', 'webauthn' => 'WebAuthn', 'tokens' => '令牌', - 'options' => '选项', + 'options' => '偏好', 'user_preferences' => '用户偏好', 'admin_settings' => '管理员设置', 'confirm' => [ @@ -30,10 +30,10 @@ return [ 'general' => '通用', 'security' => '安全', 'notifications' => '通知', - 'profile' => '配置文件', + 'profile' => '个人资料', 'change_password' => '更改密码', 'personal_access_tokens' => '个人访问令牌', - 'token_legend' => '任何应用都能够通过个人访问令牌来与 2Fauth API 进行鉴权。您需要在第三方应用的请求头中,提供此令牌作为 Bearer 令牌。', + 'token_legend' => '任何应用都能够通过 “个人访问令牌” 来与 2FAuth API 进行鉴权。您需要在第三方应用的请求头 (header) 中,提供此令牌作为 Bearer 令牌。', 'generate_new_token' => '生成新令牌', 'revoke' => '吊销', 'token_revoked' => '已成功吊销令牌', @@ -43,35 +43,40 @@ return [ ], 'make_sure_copy_token' => '请确保您已复制个人访问令牌!此令牌仅展示这一次。', 'data_input' => '数据录入', + 'settings_managed_by_administrator' => 'Some settings are being managed by your administrator', 'forms' => [ 'edit_settings' => '编辑设置', 'setting_saved' => '设置已保存', 'new_token' => '新建令牌', 'some_translation_are_missing' => '发现有词条缺少翻译吗?', - 'help_translate_2fauth' => '协助翻译 2FAuth!', + 'help_translate_2fauth' => '诚邀您协助翻译 2FAuth!', 'language' => [ 'label' => '语言', - 'help' => '2FAuth 用户界面的显示语言。以下仅列出完成翻译的语言,请选择的一个语言来覆盖当前的设置。' + 'help' => '设置 2FAuth 的界面语言。以下仅列出翻译完成的语言,您可以手动选择一个语言,或跟随浏览器语言自动切换。' ], 'timezone' => [ 'label' => '时区', - 'help' => '设置本 App 中所有日期与时间的时区' + 'help' => '为所有的 “日期” 与 “时间” 设置时区' ], 'show_otp_as_dot' => [ - 'label' => '隐藏 OTP 验证码', - 'help' => '使用星号来遮挡明文验证码。启用此功能不会影响复制和粘贴功能。' + 'label' => 'Show generated OTP as dot', + 'help' => 'Replace generated password characters with *** to ensure confidentiality. Does not affect the copy/paste feature' ], 'reveal_dotted_otp' => [ - 'label' => '显示被星号遮挡的 OTP 验证码', + 'label' => 'Reveal obscured OTP', 'help' => '临时允许验证码以明文显示' ], 'close_otp_on_copy' => [ - 'label' => '复制后关闭 OTP 验证码', + 'label' => 'Close OTP after copy', 'help' => '点击某个验证码即可复制并隐藏显示' ], + 'show_next_otp' => [ + 'label' => 'Show next OTP', + 'help' => 'Preview the next password, i.e. the password that will replace the current password when it expires. Preferences set for the current OTP also apply to the next one (formatting, show as dot)' + ], 'auto_close_timeout' => [ - 'label' => '自动关闭 OTP 验证码', - 'help' => '超时后自动隐藏明文显示的验证码。如果您忘记退出验证码界面,此功能可以避免非必要的验证码刷新请求。' + 'label' => 'Auto close OTP', + 'help' => '超时后自动隐藏验证码。如果您忘记退出验证码界面,此功能可以减少不必要的验证码刷新请求。' ], 'clear_search_on_copy' => [ 'label' => '复制后清空搜索框', @@ -79,10 +84,10 @@ return [ ], 'sort_case_sensitive' => [ 'label' => '按大小写排序', - 'help' => '选中时,强制 “排序” 功能以大小写敏感的方式对账户进行排序' + 'help' => '选中时,强制 “排序” 功能以区分大小写的方式对账号进行排序' ], 'copy_otp_on_display' => [ - 'label' => '当 OTP 显示时复制', + 'label' => 'Copy OTP on display', 'help' => '当验证码显示时立即复制。由于浏览器的限制,仅能复制第一个 TOTP 验证码,后续刷新的无法自动复制。' ], 'use_basic_qrcode_reader' => [ @@ -91,7 +96,7 @@ return [ ], 'display_mode' => [ 'label' => '显示模式', - 'help' => '选择以列表或网格的方式显示所有的账户' + 'help' => '选择以列表或网格的方式显示账号' ], 'password_format' => [ 'label' => '密码格式', @@ -107,7 +112,7 @@ return [ 'list' => '列表', 'theme' => [ 'label' => '主题', - 'help' => '强制一个特定主题,或跟随系统 / 浏览器的设置' + 'help' => '手动设置为某个主题,或自动跟随系统 / 浏览器的主题方案' ], 'light' => '亮色', 'dark' => '暗色', @@ -118,7 +123,7 @@ return [ ], 'get_official_icons' => [ 'label' => '获取官方图标', - 'help' => '在添加账户时,尝试获取 2FA 提供方的官方图标' + 'help' => '在添加账号时,尝试获此账号的官方图标' ], 'auto_lock' => [ 'label' => '自动锁定', @@ -126,27 +131,27 @@ return [ ], 'default_group' => [ 'label' => '默认分组', - 'help' => '新创建的账户所关联的分组', + 'help' => '新账号创建时,将自动关联到此分组', ], 'view_default_group_on_copy' => [ - 'label' => '在复制后显示默认分组', - 'help' => '复制 OTP 验证码后总是返回到默认分组', + 'label' => '复制后返回默认分组', + 'help' => '复制 OTP 验证码后,总是返回到默认分组', ], 'auto_save_qrcoded_account' => [ - 'label' => '自动保存账户', + 'label' => '自动保存账号', 'help' => '扫描或上传二维码后,新账户会被自动录入,无需点击 ”保存“ 按钮。', ], 'useDirectCapture' => [ - 'label' => '直接录入', - 'help' => '决定是否要在您录入时弹出录入模式选单,或者直接使用默认的录入模式', + 'label' => '锁定录入方式', + 'help' => '在默认情况下,数据录入时会提供多种录入的方式。您可以打开此选项来锁定到某一种方式', ], 'defaultCaptureMode' => [ 'label' => '默认录入模式', - 'help' => '直接录入模式启用时所使用的默认录入模式', + 'help' => '当 “锁定录入方式” 启用时,锁定为上述录入模式', ], 'remember_active_group' => [ - 'label' => '记住分组筛选器', - 'help' => '记住上次筛选出的分组,并在下次访问时展示', + 'label' => '记住选中的分组', + 'help' => '记住上次选中的分组,并在下次访问时展示', ], 'otp_generation' => [ 'label' => '显示验证码', @@ -164,11 +169,11 @@ return [ 'label' => '在底部显示邮箱地址', 'help' => '在页面底部显示当前登录用户的邮箱地址,而非直接显示导航链接。当点击邮箱地址时,再跳转到导航链接。' ], - 'otp_generation_on_request' => '点击 / 单击账户后', + 'otp_generation_on_request' => '点击账号后', 'otp_generation_on_request_legend' => '在独立页面中显示', - 'otp_generation_on_request_title' => '点击账户后,在独立页面中打开并获取验证码', + 'otp_generation_on_request_title' => '点击账号后,在独立页面中打开并获取验证码', 'otp_generation_on_home' => '始终', - 'otp_generation_on_home_legend' => '全部在主页中显示', + 'otp_generation_on_home_legend' => '直接在主页中显示', 'otp_generation_on_home_title' => '所有验证码都在主页中显示,不做任何操作', 'never' => '从不', 'on_otp_copy' => '复制验证码后', @@ -182,7 +187,7 @@ return [ '1_day' => '1 天后', 'livescan' => '扫描二维码', 'upload' => '上传二维码', - 'advanced_form' => '高级表单', + 'advanced_form' => '手动填写', ], ]; \ No newline at end of file diff --git a/resources/lang/zh/titles.php b/resources/lang/zh/titles.php index 8bf2d5c6..a13b4668 100644 --- a/resources/lang/zh/titles.php +++ b/resources/lang/zh/titles.php @@ -12,10 +12,10 @@ return [ 'start' => '新账户', 'capture' => '扫描二维码', 'accounts' => '账户', - 'createAccount' => '创建账户', - 'importAccounts' => '导入账户', + 'createAccount' => '创建账号', + 'importAccounts' => '导入账号', 'editAccount' => '编辑账户', - 'showQRcode' => '二维码形式的账户', + 'showQRcode' => '二维码形式的账号', 'groups' => '分组', 'createGroup' => '创建分组', 'editGroup' => '编辑分组', diff --git a/resources/lang/zh/twofaccounts.php b/resources/lang/zh/twofaccounts.php index f957505a..8ff60287 100644 --- a/resources/lang/zh/twofaccounts.php +++ b/resources/lang/zh/twofaccounts.php @@ -14,20 +14,20 @@ return [ */ 'service' => '服务', - 'account' => '账户', + 'account' => '账号', 'icon' => '图标', - 'icon_to_illustrate_the_account' => '账户对应的图标', + 'icon_to_illustrate_the_account' => '账号图标', 'remove_icon' => '移除图标', - 'no_account_here' => '无 2FA 账户!', - 'add_first_account' => '选择一个添加方法,创建您的第一个账户', + 'no_account_here' => '无任何 2FA 账号!', + 'add_first_account' => '选择一个添加方式,创建您的第一个账号', 'use_full_form' => '或通过填写表单创建', 'add_one' => '添加一个', 'show_qrcode' => '显示二维码', 'no_service' => '- 无服务 -', - 'account_created' => '账户创建成功', - 'account_updated' => '账户更新成功', + 'account_created' => '账号创建成功', + 'account_updated' => '账号更新成功', 'accounts_deleted' => '账户删除成功', - 'accounts_moved' => '账户移动成功', + 'accounts_moved' => '账号移动成功', 'export_selected_accounts' => '导出选中的账户', 'twofauth_export_format' => '2FAuth 格式', 'twofauth_export_format_sub' => '以 2FAuth json 结构导出数据', @@ -43,18 +43,18 @@ return [ 'placeholder' => '服务名称', ], 'account' => [ - 'placeholder' => '账户名称', + 'placeholder' => '账号名称', ], - 'new_account' => '新建账户', - 'edit_account' => '编辑账户', + 'new_account' => '新建账号', + 'edit_account' => '编辑账号', 'otp_uri' => 'OTP Uri', 'scan_qrcode' => '扫描二维码', 'upload_qrcode' => '上传二维码', - 'use_advanced_form' => '使用高级表单', + 'use_advanced_form' => '手动填写', 'prefill_using_qrcode' => '使用二维码来填写', 'use_qrcode' => [ 'val' => '使用二维码', - 'title' => '使用二维码来自动填写表单', + 'title' => '扫描二维码,自动填写表单', ], 'unlock' => [ 'val' => '解锁', @@ -78,7 +78,7 @@ return [ ], 'plain_text' => '纯文本', 'otp_type' => [ - 'label' => '选择要创建的 OTP 令牌类型', + 'label' => 'Choose the type of OTP to create', 'help' => 'TOTP,HOTP 或 Steam OTP' ], 'digits' => [ @@ -98,15 +98,15 @@ return [ 'label' => '计数器', 'placeholder' => '默认为 0', 'help' => '计数器的初始值', - 'help_lock' => '如果计数器设置错误,可能会导致此验证码与账户校验失败,如果您不了解此功能,请勿随意编辑。您可以点击 “锁定” 图标来解锁编辑,但请务必小心。' + 'help_lock' => '如果计数器设置错误,可能会导致验证码失效。如果您不了解此功能,请勿随意编辑。您可以点击 “锁定” 图标来解锁编辑,但操作时请务必小心。' ], 'image' => [ 'label' => '图像', 'placeholder' => 'http://...', - 'help' => '图像 URL,用作账户图标' + 'help' => '用作账号图标的图像 URL 地址' ], 'options_help' => '如果您不了解下列选项,请将对应选项留空来使用默认配置。', - 'alternative_methods' => '备选方法', + 'alternative_methods' => '其他创建方式', 'spaces_are_ignored' => '无用的空格将被自动删除' ], 'stream' => [ @@ -126,7 +126,7 @@ return [ ], 'secured_context_required' => [ 'reason' => '需要 secure 字段', - 'solution' => '扫描需要通过 HTTPS 协议通信。如果您是在电脑上运行 2FAuth 实例,请不要使用除了本地外的其他虚拟主机' + 'solution' => '扫描需要通过 HTTPS 协议通信。如果您是在电脑上运行 2FAuth 程序,请切换至本地主机,不要使用其他虚拟主机' ], 'https_required' => '摄像机需要 HTTPS', 'camera_not_suitable' => [ @@ -139,11 +139,11 @@ return [ ], ], 'confirm' => [ - 'delete' => '您确定要删除此账户吗?', + 'delete' => '您确定要删除此账号吗?', 'cancel' => '将放弃所有更改,确定要继续吗?', - 'discard' => '您确定要丢弃此账户吗?', - 'discard_all' => '您确定要丢弃所有账户吗?', - 'discard_duplicates' => '您确定要丢弃所有重复账户吗?', + 'discard' => '您确定要丢弃此账号吗?', + 'discard_all' => '您确定要丢弃所有账号吗?', + 'discard_duplicates' => '您确定要丢弃所有重复的账号吗?', ], 'import' => [ 'import' => '导入', @@ -153,8 +153,8 @@ return [ '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_file_upload' => '支持格式:json、2fas 或纯文本', + 'expected_format_for_direct_input' => '请填入一个包含 otpauth URI 的列表,每行一条', 'supported_migration_formats' => '支持的迁移格式', 'qr_code' => '二维码', 'text_file' => '文本文件', @@ -164,17 +164,17 @@ return [ 'issuer' => '签发方', 'imported' => '已导入', 'failure' => '失败', - 'x_valid_accounts_found' => '找到 :count 个有效账户', - 'submitted_data_parsed_now_accounts_are_awaiting_import' => '在导入的数据中找到了下列 2FA 账户,且没有被添加到 2FAuth 过。', - 'use_buttons_to_save_or_discard' => '点击亮起的按钮,即可选择丢弃这些账户,或将其保存到您的 2FA 列表中。', + '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' => '导入此账户', + 'import_this_account' => '导入此账号', 'discard_all' => '全部丢弃', 'discard_duplicates' => '丢弃重复项', - 'discard_this_account' => '丢弃此账户', + 'discard_this_account' => '丢弃此账号', 'generate_a_test_password' => '生成测试密码', - 'possible_duplicate' => '已存在相同数据的账户', - 'invalid_account' => '- 无效账户 -', + 'possible_duplicate' => '已存在相同数据的账号', + 'invalid_account' => '- 无效账号 -', 'invalid_service' => '- 无效服务 -', 'do_not_set_password_or_encryption' => '如果您需要从其他 2FA 应用导出数据到 2FAuth,请务必在导出前关闭加密保护,否则 2FAuth 将无法解密数据。', ], diff --git a/resources/lang/zh/validation.php b/resources/lang/zh/validation.php index a07a3fae..62f83365 100644 --- a/resources/lang/zh/validation.php +++ b/resources/lang/zh/validation.php @@ -93,10 +93,10 @@ return [ ], 'mac_address' => ':attribute 必须是正确的 MAC 地址。', 'max' => [ - 'array' => ':attribute 必须少于 :max 项。', - 'file' => ':attribute 必须小于 :max KB。', + 'array' => ':attribute 最多为 :max 项。', + 'file' => ':attribute 最大为 :max KB。', 'numeric' => ':attribute 必须小于 :max。', - 'string' => ':attribute 必须少于 :max 个字符。', + 'string' => ':attribute 最大为 :max 个字符。', ], 'max_digits' => ':attribute 必须少于 :max 位。', 'mimes' => ':attribute 必须是一个 :values 类型的文件。', @@ -107,7 +107,7 @@ return [ 'numeric' => ':attribute 至少为 :min。', 'string' => ':attribute 至少为 :min 个字符。', ], - 'min_digits' => ':attribute 必须多于 :min 位。', + 'min_digits' => ':attribute 至少为 :min 位。', 'missing' => ':attribute 必须为空。', 'missing_if' => '当 :other 为 :value 时 :attribute 必须为空。', 'missing_unless' => '除非 :other 为 :value,否则 :attribute 必须为空。', @@ -127,8 +127,8 @@ return [ 'present' => ':attribute 必须存在。', 'present_if' => '当 :other 为 :value 时,:attribute 为必填项', 'present_unless' => '除非 :other 为 :value,否则 :attribute 为必填项。', - 'present_with' => 'The :attribute field must be present when :values is present.', - 'present_with_all' => 'The :attribute field must be present when :values are present.', + 'present_with' => '当 :values 存在时,:attribute 为必填项。', + 'present_with_all' => '当存在 :values 时,:attribute 为必填项。', 'prohibited' => '已禁止 :attribute 字段。', 'prohibited_if' => '当 :other 为 :value 时,:attribute 字段被禁止。', 'prohibited_unless' => '除非 :other 为 :values,否则 :attribute 字段会被禁止。',