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' => 'کد ۶ رقمی اپلیکیشن تأییدکننده را وارد کنید',
'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' => 'کد ۶ رقمی اپلیکیشن تأییدکننده را وارد کنید',
'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' => 'کد ۶ رقمی اپلیکیشن تأییدکننده را وارد کنید',
'validation_attribute' => 'کد',
'below_content' => 'شما باید هر بار هنگام ورود یا انجام عملیات حساس، کد ۶ رقمی اپلیکیشن تأییدکننده را وارد کنید.',
'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' => 'کد ۶ رقمی اپلیکیشن تأییدکننده را وارد کنید',
'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' => 'کد ۶ رقمی ارسال‌شده به ایمیل خود را وارد کنید',
'validation_attribute' => 'کد',
'actions' => [
'resend' => [
'label' => 'ارسال کد جدید به ایمیل',
'notifications' => [
'resent' => [
'title' => 'کد جدیدی به ایمیل شما ارسال شد',
],
'throttled' => [
'title' => 'تعداد درخواست‌های "ارسال مجدد" زیاد است. لطفاً قبل از درخواست کد جدید کمی صبر کنید.',
],
],
],
],
'messages' => [
'invalid' => 'کدی که وارد کرده‌اید معتبر نیست.',
],
],
],
'actions' => [
'submit' => [
'label' => 'غیرفعال کردن کدهای تأیید ایمیل',
],
],
],
'notifications' => [
'disabled' => [
'title' => 'کدهای تأیید ایمیل غیرفعال شدند',
],
],
];
@@ -0,0 +1,71 @@
<?php
return [
'label' => 'راه‌اندازی',
'modal' => [
'heading' => 'راه‌اندازی کدهای تأیید ایمیل',
'description' => 'برای ورود یا انجام عملیات حساس باید هر بار کد ۶ رقمی ارسال‌شده به ایمیل خود را وارد کنید. لطفاً برای تکمیل راه‌اندازی ایمیل خود را بررسی کنید.',
'form' => [
'code' => [
'label' => 'کد ۶ رقمی ارسال‌شده به ایمیل خود را وارد کنید',
'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',
'این کد تا یک دقیقه معتبر است.|این کد تا :minutes دقیقه معتبر است.',
],
];
@@ -0,0 +1,64 @@
<?php
return [
'management_schema' => [
'actions' => [
'label' => 'کدهای تأیید ایمیل',
'below_content' => 'یک کد موقت به آدرس ایمیل شما ارسال می‌شود تا هنگام ورود هویت شما تأیید شود.',
'messages' => [
'enabled' => 'فعال',
'disabled' => 'غیرفعال',
],
],
],
'login_form' => [
'label' => 'ارسال کد به ایمیل شما',
'code' => [
'label' => 'کد ۶ رقمی ارسال‌شده به ایمیل خود را وارد کنید',
'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,14 @@
<?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 ثانیه دیگر تلاش کنید.',
],
],
];
@@ -0,0 +1,9 @@
<?php
return [
'title' => 'خطا در بارگذاری صفحه',
'body' => 'هنگام بارگذاری این صفحه خطایی رخ داد. لطفاً بعداً دوباره تلاش کنید.',
];
+12
View File
@@ -0,0 +1,12 @@
<?php
return [
'field' => [
'label' => 'جستجو در کل سایت',
'placeholder' => 'جستجو',
],
'no_results_message' => 'نتیجه‌ای برای جستجوی شما یافت نشد.',
];
+72
View File
@@ -0,0 +1,72 @@
<?php
return [
'direction' => 'rtl',
'actions' => [
'billing' => [
'label' => 'مدیریت آبونمان',
],
'logout' => [
'label' => 'خروج',
],
'open_database_notifications' => [
'label' => 'نمایش اعلانات',
],
'open_user_menu' => [
'label' => 'منوی کاربر',
],
'sidebar' => [
'collapse' => [
'label' => 'بستن نوار کناری',
],
'expand' => [
'label' => 'باز کردن نوار کناری',
],
],
'theme_switcher' => [
'dark' => [
'label' => 'حالت تیره',
],
'light' => [
'label' => 'حالت روشن',
],
'system' => [
'label' => 'حالت سیستم',
],
],
],
'avatar' => [
'alt' => 'آواتار :name',
],
'logo' => [
'alt' => 'لوگوی :name',
],
'tenant_menu' => [
'search_field' => [
'label' => 'جستجوی واحد',
'placeholder' => 'جستجو',
],
],
];
+33
View File
@@ -0,0 +1,33 @@
<?php
return [
'title' => 'داشبورد',
'actions' => [
'filter' => [
'label' => 'فیلتر',
'modal' => [
'heading' => 'فیلتر',
'actions' => [
'apply' => [
'label' => 'اعمال فیلتر',
],
],
],
],
],
];
@@ -0,0 +1,25 @@
<?php
return [
'form' => [
'actions' => [
'save' => [
'label' => 'ذخیره تغییرات',
],
],
],
'notifications' => [
'saved' => [
'title' => 'ذخیره شد',
],
],
];
@@ -0,0 +1,37 @@
<?php
return [
'title' => 'ایجاد :label',
'breadcrumb' => 'ایجاد',
'form' => [
'actions' => [
'cancel' => [
'label' => 'لغو',
],
'create' => [
'label' => 'ایجاد',
],
'create_another' => [
'label' => 'ایجاد و ایجاد یکی دیگر',
],
],
],
'notifications' => [
'created' => [
'title' => 'ایجاد شد',
],
],
];
@@ -0,0 +1,43 @@
<?php
return [
'title' => 'ویرایش :label',
'breadcrumb' => 'ویرایش',
'navigation_label' => 'ویرایش',
'form' => [
'actions' => [
'cancel' => [
'label' => 'لغو',
],
'save' => [
'label' => 'ذخیره',
],
],
],
'content' => [
'tab' => [
'label' => 'ویرایش',
],
],
'notifications' => [
'saved' => [
'title' => 'ذخیره شد',
],
],
];
@@ -0,0 +1,7 @@
<?php
return [
'breadcrumb' => 'لیست',
];
@@ -0,0 +1,7 @@
<?php
return [
'title' => 'مدیریت :label :relationship',
];
@@ -0,0 +1,19 @@
<?php
return [
'title' => 'مشاهده :label',
'breadcrumb' => 'مشاهده',
'navigation_label' => 'مشاهده',
'content' => [
'tab' => [
'label' => 'مشاهده',
],
],
];
@@ -0,0 +1,7 @@
<?php
return [
'body' => 'تغییرات ذخیره نشده وجود دارد. آیا مطمئن هستید که می‌خواهید از این صفحه خارج شوید؟',
];
@@ -0,0 +1,15 @@
<?php
return [
'actions' => [
'logout' => [
'label' => 'خروج',
],
],
'welcome' => 'خوش آمدید',
];
@@ -0,0 +1,17 @@
<?php
return [
'actions' => [
'open_documentation' => [
'label' => 'مستندات',
],
'open_github' => [
'label' => 'گیت‌هاب',
],
],
];