feat: add routes, lang, tests, stubs, docs, and docker configurations

This commit is contained in:
2026-05-21 16:05:16 +07:00
parent fad70d096b
commit 28a06315b8
3385 changed files with 177070 additions and 0 deletions
@@ -0,0 +1,19 @@
<?php
return [
'notifications' => [
'blocked' => [
'title' => 'Зміну електронної адреси заблоковано',
'body' => 'Ви успішно заблокували спробу змінити електронну адресу на :email. Якщо це були не ви, негайно зв’яжіться з нами.',
],
'failed' => [
'title' => 'Не вдалося заблокувати зміну електронної адреси',
'body' => 'На жаль, не вдалося запобігти зміні електронної адреси на :email, оскільки її вже було підтверджено до моменту блокування. Якщо це були не ви, негайно зв’яжіться з нами.',
],
],
];
@@ -0,0 +1,14 @@
<?php
return [
'notifications' => [
'verified' => [
'title' => 'Електронну адресу змінено',
'body' => 'Вашу електронну адресу успішно змінено на :email.',
],
],
];
@@ -0,0 +1,71 @@
<?php
return [
'label' => 'Вимкнути',
'modal' => [
'heading' => 'Вимкнення аутентифікатора',
'description' => 'Ви впевнені, що хочете припинити використання аутентифікатора? Це призведе до зменшення рівня безпеки вашого облікового запису.',
'form' => [
'code' => [
'label' => 'Введіть 6-значний код з аутентифікатора',
'validation_attribute' => 'код',
'actions' => [
'use_recovery_code' => [
'label' => 'Натомість використати резервний код',
],
],
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
'recovery_code' => [
'label' => 'Або введіть резервний код',
'validation_attribute' => 'резервний код',
'messages' => [
'invalid' => 'Введений вами резервний код недійсний.',
],
],
],
'actions' => [
'submit' => [
'label' => 'Вимкнути аутентифікатор',
],
],
],
'notifications' => [
'disabled' => [
'title' => 'Аутентифікатор вимкнено',
],
],
];
@@ -0,0 +1,77 @@
<?php
return [
'label' => 'Перегенерувати резервні коди',
'modal' => [
'heading' => 'Перегенерувати резервні коди аутентифікатора',
'description' => 'Якщо ви втратите резервні коди, тут ви можете їх відновити. Ваші старі резервні коди стануть негайно недійсними.',
'form' => [
'code' => [
'label' => 'Введіть 6-значний код з аутентифікатора',
'validation_attribute' => 'код',
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
'password' => [
'label' => 'Або введіть поточний пароль',
'validation_attribute' => 'пароль',
],
],
'actions' => [
'submit' => [
'label' => 'Перегенерувати',
],
],
],
'notifications' => [
'regenerated' => [
'title' => 'Нові резервні коди аутентифікатора створено',
],
],
'show_new_recovery_codes' => [
'modal' => [
'heading' => 'Нові резервні коди',
'description' => 'Збережіть наступні резервні коди у безпечному місці. Їх буде показано лише один раз, але вони знадобляться, якщо ви втратите доступ до аутентифікатора:',
'actions' => [
'submit' => [
'label' => 'Закрити',
],
],
],
],
];
@@ -0,0 +1,81 @@
<?php
return [
'label' => 'Налаштувати',
'modal' => [
'heading' => 'Налаштування аутентифікатора',
'description' => <<<'BLADE'
Для завершення цього процесу вам знадобиться додаток, наприклад Google Authenticator (<x-filament::link href="https://itunes.apple.com/us/app/google-authenticator/id388497605" target="_blank">iOS</x-filament::link>, <x-filament::link href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank">Android</x-filament::link>).
BLADE,
'content' => [
'qr_code' => [
'instruction' => 'Відскануйте цей QR-код за допомогою аутентифікатора:',
'alt' => 'QR-код для сканування в аутентифікаторі',
],
'text_code' => [
'instruction' => 'Або введіть цей код вручну:',
'messages' => [
'copied' => 'Скопійовано',
],
],
'recovery_codes' => [
'instruction' => 'Збережіть наведені нижче резервні коди в надійному місці. Їх буде показано лише один раз, але вони знадобляться, якщо ви втратите доступ до аутентифікатора:',
],
],
'form' => [
'code' => [
'label' => 'Введіть 6-значний код з аутентифікатора',
'validation_attribute' => 'код',
'below_content' => 'Вам потрібно буде вводити 6-значний код з аутентифікатора щоразу при вході або виконанні чутливих дій.',
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
],
'actions' => [
'submit' => [
'label' => 'Увімкнути аутентифікатор',
],
],
],
'notifications' => [
'enabled' => [
'title' => 'Аутентифікатор увімкнено',
],
],
];
@@ -0,0 +1,64 @@
<?php
return [
'management_schema' => [
'actions' => [
'label' => 'Аутентифікатор',
'below_content' => 'Використовуйте захищений додаток для створення тимчасового коду підтвердження входу.',
'messages' => [
'enabled' => 'Увімкнено',
'disabled' => 'Вимкнено',
],
],
],
'login_form' => [
'label' => 'Використайте код з вашого аутентифікатора',
'code' => [
'label' => 'Введіть 6-значний код з аутентифікатора',
'validation_attribute' => 'код',
'actions' => [
'use_recovery_code' => [
'label' => 'Використати резервний код',
],
],
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
'recovery_code' => [
'label' => 'Або введіть резервний код',
'validation_attribute' => 'резервний код',
'messages' => [
'invalid' => 'Введений вами резервний код недійсний.',
],
],
],
];
@@ -0,0 +1,71 @@
<?php
return [
'label' => 'Вимкнути',
'modal' => [
'heading' => 'Вимкнення кодів підтвердження по електронній пошті',
'description' => 'Ви впевнені, що хочете припинити отримувати коди підтвердження по електронній пошті? Це знизить рівень безпеки вашого облікового запису.',
'form' => [
'code' => [
'label' => 'Введіть 6-значний код, надісланий на вашу електронну пошту',
'validation_attribute' => 'код',
'actions' => [
'resend' => [
'label' => 'Надіслати новий код',
'notifications' => [
'resent' => [
'title' => 'Новий код надіслано',
],
'throttled' => [
'title' => 'Забагато спроб отримати новий код. Будь ласка, зачекайте, перш ніж знову спробувати.',
],
],
],
],
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
],
'actions' => [
'submit' => [
'label' => 'Вимкнути коди підтвердження по електронній пошті',
],
],
],
'notifications' => [
'disabled' => [
'title' => 'Коди підтвердження по електронній пошті вимкнено',
],
],
];
@@ -0,0 +1,70 @@
<?php
return [
'label' => 'Налаштувати',
'modal' => [
'heading' => 'Налаштування кодів підтвердження по електронній пошті',
'description' => 'Вам потрібно буде вводити 6-значний код, який ми надсилаємо вам електронною поштою, щоразу під час входу або виконання конфіденційних дій. Перевірте вашу електронну пошту, щоб знайти код для завершення налаштування.',
'form' => [
'code' => [
'label' => 'Введіть 6-значний код, надісланий на вашу електронну пошту',
'validation_attribute' => 'код',
'actions' => [
'resend' => [
'label' => 'Надіслати новий код',
'notifications' => [
'resent' => [
'title' => 'Новий код надіслано',
],
'throttled' => [
'title' => 'Забагато спроб отримати новий код. Будь ласка, зачекайте, перш ніж знову спробувати.',
],
],
],
],
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
],
'actions' => [
'submit' => [
'label' => 'Увімкнути коди підтвердження по електронній пошті',
],
],
],
'notifications' => [
'enabled' => [
'title' => 'Коди підтвердження по електронній пошті увімкнено',
],
],
];
@@ -0,0 +1,12 @@
<?php
return [
'subject' => 'Ваш код для входу',
'lines' => [
'Ваш код для входу: :code',
'Цей код дійсний протягом 1 хвилини.|Цей код стане недійсним через :minutes хвилин.',
],
];
@@ -0,0 +1,63 @@
<?php
return [
'management_schema' => [
'actions' => [
'label' => 'Коди підтвердження по електронній пошті',
'below_content' => 'Отримуйте тимчасовий код на вашу електронну пошту для підтвердження особи під час входу.',
'messages' => [
'enabled' => 'Увімкнено',
'disabled' => 'Вимкнено',
],
],
],
'login_form' => [
'label' => 'Надіслати код на вашу електронну пошту',
'code' => [
'label' => 'Введіть 6-значний код, надісланий на вашу електронну пошту',
'validation_attribute' => 'код',
'actions' => [
'resend' => [
'label' => 'Надіслати новий код',
'notifications' => [
'resent' => [
'title' => 'Новий код надіслано',
],
'throttled' => [
'title' => 'Забагато спроб отримати новий код. Будь ласка, зачекайте, перш ніж знову спробувати.',
],
],
],
],
'messages' => [
'invalid' => 'Введений вами код недійсний.',
],
],
],
];
@@ -0,0 +1,19 @@
<?php
return [
'title' => 'Налаштування двофакторної автентифікації (2FA)',
'heading' => 'Налаштування двофакторної автентифікації',
'subheading' => 'Двофакторна автентифікація додає додатковий рівень безпеки до вашого облікового запису, вимагаючи другу форму верифікації під час входу.',
'actions' => [
'continue' => [
'label' => 'Продовжити',
],
],
];
@@ -0,0 +1,27 @@
<?php
return [
'actions' => [
'Натисніть, щоб',
'copy' => [
'label' => 'скопіювати',
],
'або',
'download' => [
'label' => 'завантажити',
],
'всі коди одразу.',
],
'messages' => [
'copied' => 'Скопійовано',
],
];
@@ -0,0 +1,16 @@
<?php
return [
'subject' => 'Вашу електронну адресу змінюють',
'lines' => [
'Ми отримали запит на зміну електронної адреси, пов’язаної з вашим обліковим записом. Для підтвердження цієї зміни було використано ваш пароль.',
'Після підтвердження новою електронною адресою у вашому обліковому записі буде: :email.',
'Ви можете заблокувати зміну до її підтвердження, натиснувши кнопку нижче.',
'Якщо ви не надсилали цей запит, негайно зв’яжіться з нами.',
],
'action' => 'Заблокувати зміну електронної адреси',
];
@@ -0,0 +1,68 @@
<?php
return [
'label' => 'Профіль',
'form' => [
'email' => [
'label' => 'Електронна пошта',
],
'name' => [
'label' => 'Ім\'я',
],
'password' => [
'label' => 'Новий пароль',
'validation_attribute' => 'пароль',
],
'password_confirmation' => [
'label' => 'Введіть новий пароль ще раз',
'validation_attribute' => 'підтвердження пароля',
],
'current_password' => [
'label' => 'Поточний пароль',
'below_content' => 'З міркувань безпеки підтвердьте свій пароль, щоб продовжити.',
'validation_attribute' => 'поточний пароль',
],
'actions' => [
'save' => [
'label' => 'Зберегти зміни',
],
],
],
'multi_factor_authentication' => [
'label' => 'Двофакторна автентифікація (2FA)',
],
'notifications' => [
'email_change_verification_sent' => [
'title' => 'Запит на зміну електронної адреси надіслано',
'body' => 'Запит на зміну вашої електронної адреси надіслано на :email. Перевірте свою пошту для підтвердження зміни.',
],
'saved' => [
'title' => 'Збережено',
],
],
'actions' => [
'cancel' => [
'label' => 'Відмінити',
],
],
];
@@ -0,0 +1,35 @@
<?php
return [
'title' => 'Підтвердіть електронну пошту',
'heading' => 'Підтвердіть електронну пошту',
'actions' => [
'resend_notification' => [
'label' => 'Надіслати ще раз',
],
],
'messages' => [
'notification_not_received' => 'Не отримали нашого листа?',
'notification_sent' => 'Ми надіслали на пошту :email лист з поясненням, як підтвердити свою електронну пошту.',
],
'notifications' => [
'notification_resent' => [
'title' => 'Ми надіслали вам лист ще раз.',
],
'notification_resend_throttled' => [
'title' => 'Забагато спроб повторно надіслати лист',
'body' => 'Будь ласка, спробуйте ще раз через :seconds секунд.',
],
],
];
+85
View File
@@ -0,0 +1,85 @@
<?php
return [
'title' => 'Логін',
'heading' => 'Увійдіть у свій акаунт',
'actions' => [
'register' => [
'before' => 'або',
'label' => 'зареєструйтеся',
],
'request_password_reset' => [
'label' => 'Забули пароль?',
],
],
'form' => [
'email' => [
'label' => 'Електронна пошта',
],
'password' => [
'label' => 'Пароль',
],
'remember' => [
'label' => 'Запам’ятати мене',
],
'actions' => [
'authenticate' => [
'label' => 'Увійти',
],
],
],
'multi_factor' => [
'heading' => 'Підтвердіть свою особу',
'subheading' => 'Щоб продовжити вхід, потрібно підтвердити свою особу.',
'form' => [
'provider' => [
'label' => 'Як ви бажаєте підтвердити вхід?',
],
'actions' => [
'authenticate' => [
'label' => 'Підтвердити вхід',
],
],
],
],
'messages' => [
'failed' => 'Ці дані не відповідають нашим записам.',
],
'notifications' => [
'throttled' => [
'title' => 'Забагато спроб входу в систему',
'body' => 'Будь ласка, спробуйте ще раз через :seconds секунд.',
],
],
];
@@ -0,0 +1,46 @@
<?php
return [
'title' => 'Скинути пароль',
'heading' => 'Забули свій пароль?',
'actions' => [
'login' => [
'label' => 'повернутись до сторінки входу',
],
],
'form' => [
'email' => [
'label' => 'Електронна пошта',
],
'actions' => [
'request' => [
'label' => 'Надіслати лист',
],
],
],
'notifications' => [
'sent' => [
'body' => 'Якщо вашого облікового запису не існує, ви не отримаєте листа.',
],
'throttled' => [
'title' => 'Забагато запитів',
'body' => 'Будь ласка, спробуйте ще раз через :seconds секунд.',
],
],
];
@@ -0,0 +1,43 @@
<?php
return [
'title' => 'Скинути пароль',
'heading' => 'Скинути пароль',
'form' => [
'email' => [
'label' => 'Електронна пошта',
],
'password' => [
'label' => 'Пароль',
'validation_attribute' => 'пароль',
],
'password_confirmation' => [
'label' => 'Введіть пароль ще раз',
],
'actions' => [
'reset' => [
'label' => 'Скинути пароль',
],
],
],
'notifications' => [
'throttled' => [
'title' => 'Забагато спроб скинути пароль',
'body' => 'Будь ласка, спробуйте ще раз через :seconds секунд.',
],
],
];
+56
View File
@@ -0,0 +1,56 @@
<?php
return [
'title' => 'Зареєструйтеся',
'heading' => 'Зареєструйтеся',
'actions' => [
'login' => [
'before' => 'або',
'label' => 'ввійдіть у свій акаунт',
],
],
'form' => [
'email' => [
'label' => 'Електронна пошта',
],
'name' => [
'label' => 'Ім\'я',
],
'password' => [
'label' => 'Пароль',
'validation_attribute' => 'пароль',
],
'password_confirmation' => [
'label' => 'Введіть пароль ще раз',
],
'actions' => [
'register' => [
'label' => 'Зареєструватися',
],
],
],
'notifications' => [
'throttled' => [
'title' => 'Забагато спроб зареєструватися',
'body' => 'Будь ласка, спробуйте ще раз через :seconds секунд.',
],
],
];