From 20d032c4cc86b32e5b73d17e5c4fd25490630cb0 Mon Sep 17 00:00:00 2001 From: Mekan1206 Date: Fri, 31 Jul 2026 23:40:35 +0500 Subject: [PATCH] Add HR resource labels and helper methods for various resources; update locale handling in user model and department factory --- app/Filament/Concerns/HasHrResourceLabels.php | 30 + .../ActivityLogs/ActivityLogResource.php | 27 +- .../Resources/Bonuses/BonusResource.php | 13 +- .../Departments/DepartmentResource.php | 13 +- .../Departments/Schemas/DepartmentForm.php | 6 +- .../DisciplinaryReportResource.php | 13 +- .../EmployeeDocumentResource.php | 13 +- .../Resources/Employees/EmployeeResource.php | 13 +- .../Explanations/ExplanationResource.php | 13 +- app/Filament/Resources/Gifts/GiftResource.php | 13 +- .../Resources/Positions/PositionResource.php | 13 +- .../Resources/Shifts/ShiftResource.php | 13 +- .../SickLeaves/SickLeaveResource.php | 13 +- .../UnpaidLeaves/UnpaidLeaveResource.php | 13 +- app/Filament/Resources/Users/UserResource.php | 11 + .../Resources/Vacations/VacationResource.php | 13 +- app/Helpers/helpers.php | 25 + app/Models/Department.php | 33 + app/Providers/AppServiceProvider.php | 5 +- composer.json | 5 +- database/factories/DepartmentFactory.php | 6 +- ...07_31_123118_add_locale_to_users_table.php | 2 +- database/seeders/AdminUserSeeder.php | 2 +- lang/vendor/filament-actions/tk/associate.php | 45 + lang/vendor/filament-actions/tk/attach.php | 45 + lang/vendor/filament-actions/tk/create.php | 37 + lang/vendor/filament-actions/tk/delete.php | 73 ++ lang/vendor/filament-actions/tk/detach.php | 61 ++ .../vendor/filament-actions/tk/dissociate.php | 61 ++ lang/vendor/filament-actions/tk/edit.php | 33 + lang/vendor/filament-actions/tk/export.php | 94 ++ .../filament-actions/tk/force-delete.php | 73 ++ lang/vendor/filament-actions/tk/group.php | 9 + lang/vendor/filament-actions/tk/import.php | 85 ++ lang/vendor/filament-actions/tk/modal.php | 23 + .../filament-actions/tk/notifications.php | 10 + lang/vendor/filament-actions/tk/replicate.php | 33 + lang/vendor/filament-actions/tk/restore.php | 73 ++ lang/vendor/filament-actions/tk/view.php | 25 + lang/vendor/filament-forms/tk/components.php | 854 ++++++++++++++++++ lang/vendor/filament-forms/tk/validation.php | 12 + .../filament-infolists/tk/components.php | 43 + .../filament-notifications/tk/database.php | 30 + .../tk/notification.php | 13 + ...k-email-change-verification-controller.php | 19 + .../email-change-verification-controller.php | 19 + .../auth/multi-factor/app/actions/disable.php | 75 ++ .../app/actions/regenerate-recovery-codes.php | 79 ++ .../auth/multi-factor/app/actions/set-up.php | 83 ++ .../tk/auth/multi-factor/app/provider.php | 64 ++ .../multi-factor/email/actions/disable.php | 73 ++ .../multi-factor/email/actions/set-up.php | 73 ++ .../verify-email-authentication.php | 12 + .../tk/auth/multi-factor/email/provider.php | 64 ++ ...p-required-multi-factor-authentication.php | 19 + .../recovery-codes-modal-content.php | 27 + .../notice-of-email-change-request.php | 16 + .../tk/auth/pages/edit-profile.php | 73 ++ .../email-verification-prompt.php | 35 + .../filament-panels/tk/auth/pages/login.php | 85 ++ .../password-reset/request-password-reset.php | 46 + .../pages/password-reset/reset-password.php | 43 + .../tk/auth/pages/register.php | 56 ++ .../tk/error-notifications.php | 9 + .../filament-panels/tk/global-search.php | 12 + lang/vendor/filament-panels/tk/layout.php | 87 ++ .../filament-panels/tk/pages/dashboard.php | 33 + .../tk/pages/tenancy/edit-tenant-profile.php | 25 + .../tk/resources/pages/create-record.php | 37 + .../tk/resources/pages/edit-record.php | 43 + .../tk/resources/pages/list-records.php | 7 + .../pages/manage-related-records.php | 7 + .../tk/resources/pages/view-record.php | 19 + .../tk/unsaved-changes-alert.php | 7 + .../tk/widgets/account-widget.php | 15 + .../tk/widgets/filament-info-widget.php | 17 + .../tk/query-builder.php | 566 ++++++++++++ .../vendor/filament-schemas/tk/components.php | 61 ++ .../filament-shield/tk/filament-shield.php | 85 ++ lang/vendor/filament-tables/tk/table.php | 292 ++++++ lang/vendor/filament-widgets/tk/chart.php | 37 + tests/Feature/LocalizationTest.php | 21 + tests/Feature/Models/DepartmentTest.php | 44 + 83 files changed, 4386 insertions(+), 39 deletions(-) create mode 100644 app/Filament/Concerns/HasHrResourceLabels.php create mode 100644 app/Helpers/helpers.php create mode 100644 lang/vendor/filament-actions/tk/associate.php create mode 100644 lang/vendor/filament-actions/tk/attach.php create mode 100644 lang/vendor/filament-actions/tk/create.php create mode 100644 lang/vendor/filament-actions/tk/delete.php create mode 100644 lang/vendor/filament-actions/tk/detach.php create mode 100644 lang/vendor/filament-actions/tk/dissociate.php create mode 100644 lang/vendor/filament-actions/tk/edit.php create mode 100644 lang/vendor/filament-actions/tk/export.php create mode 100644 lang/vendor/filament-actions/tk/force-delete.php create mode 100644 lang/vendor/filament-actions/tk/group.php create mode 100644 lang/vendor/filament-actions/tk/import.php create mode 100644 lang/vendor/filament-actions/tk/modal.php create mode 100644 lang/vendor/filament-actions/tk/notifications.php create mode 100644 lang/vendor/filament-actions/tk/replicate.php create mode 100644 lang/vendor/filament-actions/tk/restore.php create mode 100644 lang/vendor/filament-actions/tk/view.php create mode 100644 lang/vendor/filament-forms/tk/components.php create mode 100644 lang/vendor/filament-forms/tk/validation.php create mode 100644 lang/vendor/filament-infolists/tk/components.php create mode 100644 lang/vendor/filament-notifications/tk/database.php create mode 100644 lang/vendor/filament-notifications/tk/notification.php create mode 100644 lang/vendor/filament-panels/tk/auth/http/controllers/block-email-change-verification-controller.php create mode 100644 lang/vendor/filament-panels/tk/auth/http/controllers/email-change-verification-controller.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/disable.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/regenerate-recovery-codes.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/set-up.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/app/provider.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/disable.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/set-up.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/email/notifications/verify-email-authentication.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/email/provider.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/pages/set-up-required-multi-factor-authentication.php create mode 100644 lang/vendor/filament-panels/tk/auth/multi-factor/recovery-codes-modal-content.php create mode 100644 lang/vendor/filament-panels/tk/auth/notifications/notice-of-email-change-request.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/edit-profile.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/email-verification/email-verification-prompt.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/login.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/password-reset/request-password-reset.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/password-reset/reset-password.php create mode 100644 lang/vendor/filament-panels/tk/auth/pages/register.php create mode 100644 lang/vendor/filament-panels/tk/error-notifications.php create mode 100644 lang/vendor/filament-panels/tk/global-search.php create mode 100644 lang/vendor/filament-panels/tk/layout.php create mode 100644 lang/vendor/filament-panels/tk/pages/dashboard.php create mode 100644 lang/vendor/filament-panels/tk/pages/tenancy/edit-tenant-profile.php create mode 100644 lang/vendor/filament-panels/tk/resources/pages/create-record.php create mode 100644 lang/vendor/filament-panels/tk/resources/pages/edit-record.php create mode 100644 lang/vendor/filament-panels/tk/resources/pages/list-records.php create mode 100644 lang/vendor/filament-panels/tk/resources/pages/manage-related-records.php create mode 100644 lang/vendor/filament-panels/tk/resources/pages/view-record.php create mode 100644 lang/vendor/filament-panels/tk/unsaved-changes-alert.php create mode 100644 lang/vendor/filament-panels/tk/widgets/account-widget.php create mode 100644 lang/vendor/filament-panels/tk/widgets/filament-info-widget.php create mode 100644 lang/vendor/filament-query-builder/tk/query-builder.php create mode 100644 lang/vendor/filament-schemas/tk/components.php create mode 100644 lang/vendor/filament-shield/tk/filament-shield.php create mode 100644 lang/vendor/filament-tables/tk/table.php create mode 100644 lang/vendor/filament-widgets/tk/chart.php create mode 100644 tests/Feature/Models/DepartmentTest.php diff --git a/app/Filament/Concerns/HasHrResourceLabels.php b/app/Filament/Concerns/HasHrResourceLabels.php new file mode 100644 index 0000000..ee500ff --- /dev/null +++ b/app/Filament/Concerns/HasHrResourceLabels.php @@ -0,0 +1,30 @@ + 'activity_log', + 'plural' => 'activity_logs', + 'navigation' => 'audit_log', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedClipboardDocumentList; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::System; @@ -29,21 +41,6 @@ class ActivityLogResource extends Resource protected static ?string $slug = 'activity-logs'; - public static function getNavigationLabel(): string - { - return __('hr.resources.audit_log'); - } - - public static function getModelLabel(): string - { - return __('hr.resources.activity_log'); - } - - public static function getPluralModelLabel(): string - { - return __('hr.resources.activity_logs'); - } - public static function form(Schema $schema): Schema { return $schema; diff --git a/app/Filament/Resources/Bonuses/BonusResource.php b/app/Filament/Resources/Bonuses/BonusResource.php index 39806ba..a68b88a 100644 --- a/app/Filament/Resources/Bonuses/BonusResource.php +++ b/app/Filament/Resources/Bonuses/BonusResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Bonuses; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Bonuses\Pages\CreateBonus; use App\Filament\Resources\Bonuses\Pages\EditBonus; use App\Filament\Resources\Bonuses\Pages\ListBonuses; @@ -14,18 +15,28 @@ use App\Filament\Resources\Bonuses\Schemas\BonusInfolist; use App\Filament\Resources\Bonuses\Tables\BonusesTable; use App\Models\Bonus; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class BonusResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Bonus::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'bonus', + 'plural' => 'bonuses', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedCurrencyDollar; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Records; diff --git a/app/Filament/Resources/Departments/DepartmentResource.php b/app/Filament/Resources/Departments/DepartmentResource.php index f9fd3a7..67a8dbc 100644 --- a/app/Filament/Resources/Departments/DepartmentResource.php +++ b/app/Filament/Resources/Departments/DepartmentResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Departments; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Departments\Pages\CreateDepartment; use App\Filament\Resources\Departments\Pages\EditDepartment; use App\Filament\Resources\Departments\Pages\ListDepartments; @@ -14,18 +15,28 @@ use App\Filament\Resources\Departments\Schemas\DepartmentInfolist; use App\Filament\Resources\Departments\Tables\DepartmentsTable; use App\Models\Department; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class DepartmentResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Department::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'department', + 'plural' => 'departments', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedBuildingOffice2; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Organization; diff --git a/app/Filament/Resources/Departments/Schemas/DepartmentForm.php b/app/Filament/Resources/Departments/Schemas/DepartmentForm.php index 6c3ccb0..df21093 100644 --- a/app/Filament/Resources/Departments/Schemas/DepartmentForm.php +++ b/app/Filament/Resources/Departments/Schemas/DepartmentForm.php @@ -2,8 +2,8 @@ namespace App\Filament\Resources\Departments\Schemas; -use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Textarea; +use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Toggle; use Filament\Schemas\Schema; @@ -16,10 +16,6 @@ class DepartmentForm TextInput::make('name') ->required() ->maxLength(255), - TextInput::make('code') - ->required() - ->maxLength(50) - ->unique(ignoreRecord: true), Textarea::make('description') ->rows(3) ->columnSpanFull(), diff --git a/app/Filament/Resources/DisciplinaryReports/DisciplinaryReportResource.php b/app/Filament/Resources/DisciplinaryReports/DisciplinaryReportResource.php index aa1d612..31e49f5 100644 --- a/app/Filament/Resources/DisciplinaryReports/DisciplinaryReportResource.php +++ b/app/Filament/Resources/DisciplinaryReports/DisciplinaryReportResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\DisciplinaryReports; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\DisciplinaryReports\Pages\CreateDisciplinaryReport; use App\Filament\Resources\DisciplinaryReports\Pages\EditDisciplinaryReport; use App\Filament\Resources\DisciplinaryReports\Pages\ListDisciplinaryReports; @@ -14,18 +15,28 @@ use App\Filament\Resources\DisciplinaryReports\Schemas\DisciplinaryReportInfolis use App\Filament\Resources\DisciplinaryReports\Tables\DisciplinaryReportsTable; use App\Models\DisciplinaryReport; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class DisciplinaryReportResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = DisciplinaryReport::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'disciplinary_report', + 'plural' => 'disciplinary_reports', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedExclamationTriangle; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Records; diff --git a/app/Filament/Resources/EmployeeDocuments/EmployeeDocumentResource.php b/app/Filament/Resources/EmployeeDocuments/EmployeeDocumentResource.php index f7b8e19..904ceee 100644 --- a/app/Filament/Resources/EmployeeDocuments/EmployeeDocumentResource.php +++ b/app/Filament/Resources/EmployeeDocuments/EmployeeDocumentResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\EmployeeDocuments; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\EmployeeDocuments\Pages\CreateEmployeeDocument; use App\Filament\Resources\EmployeeDocuments\Pages\EditEmployeeDocument; use App\Filament\Resources\EmployeeDocuments\Pages\ListEmployeeDocuments; @@ -14,18 +15,28 @@ use App\Filament\Resources\EmployeeDocuments\Schemas\EmployeeDocumentInfolist; use App\Filament\Resources\EmployeeDocuments\Tables\EmployeeDocumentsTable; use App\Models\EmployeeDocument; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class EmployeeDocumentResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = EmployeeDocument::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'employee_document', + 'plural' => 'employee_documents', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedDocument; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Records; diff --git a/app/Filament/Resources/Employees/EmployeeResource.php b/app/Filament/Resources/Employees/EmployeeResource.php index e99cf17..5956f36 100644 --- a/app/Filament/Resources/Employees/EmployeeResource.php +++ b/app/Filament/Resources/Employees/EmployeeResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Employees; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Employees\Pages\CreateEmployee; use App\Filament\Resources\Employees\Pages\EditEmployee; use App\Filament\Resources\Employees\Pages\ListEmployees; @@ -22,7 +23,6 @@ use App\Filament\Resources\Employees\Schemas\EmployeeInfolist; use App\Filament\Resources\Employees\Tables\EmployeesTable; use App\Models\Employee; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; @@ -30,11 +30,22 @@ use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class EmployeeResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Employee::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'employee', + 'plural' => 'employees', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedUsers; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Employees; diff --git a/app/Filament/Resources/Explanations/ExplanationResource.php b/app/Filament/Resources/Explanations/ExplanationResource.php index ee9a7c5..1a6e8a6 100644 --- a/app/Filament/Resources/Explanations/ExplanationResource.php +++ b/app/Filament/Resources/Explanations/ExplanationResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Explanations; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Explanations\Pages\CreateExplanation; use App\Filament\Resources\Explanations\Pages\EditExplanation; use App\Filament\Resources\Explanations\Pages\ListExplanations; @@ -14,18 +15,28 @@ use App\Filament\Resources\Explanations\Schemas\ExplanationInfolist; use App\Filament\Resources\Explanations\Tables\ExplanationsTable; use App\Models\Explanation; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class ExplanationResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Explanation::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'explanation', + 'plural' => 'explanations', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedDocumentText; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Records; diff --git a/app/Filament/Resources/Gifts/GiftResource.php b/app/Filament/Resources/Gifts/GiftResource.php index e68ac58..2ad83c7 100644 --- a/app/Filament/Resources/Gifts/GiftResource.php +++ b/app/Filament/Resources/Gifts/GiftResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Gifts; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Gifts\Pages\CreateGift; use App\Filament\Resources\Gifts\Pages\EditGift; use App\Filament\Resources\Gifts\Pages\ListGifts; @@ -14,18 +15,28 @@ use App\Filament\Resources\Gifts\Schemas\GiftInfolist; use App\Filament\Resources\Gifts\Tables\GiftsTable; use App\Models\Gift; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class GiftResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Gift::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'gift', + 'plural' => 'gifts', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedGift; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Records; diff --git a/app/Filament/Resources/Positions/PositionResource.php b/app/Filament/Resources/Positions/PositionResource.php index b14688f..d3e5108 100644 --- a/app/Filament/Resources/Positions/PositionResource.php +++ b/app/Filament/Resources/Positions/PositionResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Positions; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Positions\Pages\CreatePosition; use App\Filament\Resources\Positions\Pages\EditPosition; use App\Filament\Resources\Positions\Pages\ListPositions; @@ -14,18 +15,28 @@ use App\Filament\Resources\Positions\Schemas\PositionInfolist; use App\Filament\Resources\Positions\Tables\PositionsTable; use App\Models\Position; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class PositionResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Position::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'position', + 'plural' => 'positions', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedBriefcase; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Organization; diff --git a/app/Filament/Resources/Shifts/ShiftResource.php b/app/Filament/Resources/Shifts/ShiftResource.php index 243b6cf..d3e6d1b 100644 --- a/app/Filament/Resources/Shifts/ShiftResource.php +++ b/app/Filament/Resources/Shifts/ShiftResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Shifts; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Shifts\Pages\CreateShift; use App\Filament\Resources\Shifts\Pages\EditShift; use App\Filament\Resources\Shifts\Pages\ListShifts; @@ -14,18 +15,28 @@ use App\Filament\Resources\Shifts\Schemas\ShiftInfolist; use App\Filament\Resources\Shifts\Tables\ShiftsTable; use App\Models\Shift; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class ShiftResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Shift::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'shift', + 'plural' => 'shifts', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedClock; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::Organization; diff --git a/app/Filament/Resources/SickLeaves/SickLeaveResource.php b/app/Filament/Resources/SickLeaves/SickLeaveResource.php index d7d152d..98e4097 100644 --- a/app/Filament/Resources/SickLeaves/SickLeaveResource.php +++ b/app/Filament/Resources/SickLeaves/SickLeaveResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\SickLeaves; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\SickLeaves\Pages\CreateSickLeave; use App\Filament\Resources\SickLeaves\Pages\EditSickLeave; use App\Filament\Resources\SickLeaves\Pages\ListSickLeaves; @@ -14,18 +15,28 @@ use App\Filament\Resources\SickLeaves\Schemas\SickLeaveInfolist; use App\Filament\Resources\SickLeaves\Tables\SickLeavesTable; use App\Models\SickLeave; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class SickLeaveResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = SickLeave::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'sick_leave', + 'plural' => 'sick_leaves', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedHeart; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::LeaveManagement; diff --git a/app/Filament/Resources/UnpaidLeaves/UnpaidLeaveResource.php b/app/Filament/Resources/UnpaidLeaves/UnpaidLeaveResource.php index 1cfc4aa..025c459 100644 --- a/app/Filament/Resources/UnpaidLeaves/UnpaidLeaveResource.php +++ b/app/Filament/Resources/UnpaidLeaves/UnpaidLeaveResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\UnpaidLeaves; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\UnpaidLeaves\Pages\CreateUnpaidLeave; use App\Filament\Resources\UnpaidLeaves\Pages\EditUnpaidLeave; use App\Filament\Resources\UnpaidLeaves\Pages\ListUnpaidLeaves; @@ -14,18 +15,28 @@ use App\Filament\Resources\UnpaidLeaves\Schemas\UnpaidLeaveInfolist; use App\Filament\Resources\UnpaidLeaves\Tables\UnpaidLeavesTable; use App\Models\UnpaidLeave; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class UnpaidLeaveResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = UnpaidLeave::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'unpaid_leave', + 'plural' => 'unpaid_leaves', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedCalendarDays; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::LeaveManagement; diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php index d12401e..24b6b4e 100644 --- a/app/Filament/Resources/Users/UserResource.php +++ b/app/Filament/Resources/Users/UserResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Users; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Users\Pages\CreateUser; use App\Filament\Resources\Users\Pages\EditUser; use App\Filament\Resources\Users\Pages\ListUsers; @@ -22,8 +23,18 @@ use UnitEnum; class UserResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = User::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'user', + 'plural' => 'users', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedUsers; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::System; diff --git a/app/Filament/Resources/Vacations/VacationResource.php b/app/Filament/Resources/Vacations/VacationResource.php index 5ea8367..f475886 100644 --- a/app/Filament/Resources/Vacations/VacationResource.php +++ b/app/Filament/Resources/Vacations/VacationResource.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace App\Filament\Resources\Vacations; use App\Enums\NavigationGroup; +use App\Filament\Concerns\HasHrResourceLabels; use App\Filament\Resources\Vacations\Pages\CreateVacation; use App\Filament\Resources\Vacations\Pages\EditVacation; use App\Filament\Resources\Vacations\Pages\ListVacations; @@ -14,18 +15,28 @@ use App\Filament\Resources\Vacations\Schemas\VacationInfolist; use App\Filament\Resources\Vacations\Tables\VacationsTable; use App\Models\Vacation; use BackedEnum; -use UnitEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Support\Icons\Heroicon; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; +use UnitEnum; class VacationResource extends Resource { + use HasHrResourceLabels; + protected static ?string $model = Vacation::class; + protected static function hrLabelKeys(): array + { + return [ + 'model' => 'vacation', + 'plural' => 'vacations', + ]; + } + protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedSun; protected static string|UnitEnum|null $navigationGroup = NavigationGroup::LeaveManagement; diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php new file mode 100644 index 0000000..c7cda14 --- /dev/null +++ b/app/Helpers/helpers.php @@ -0,0 +1,25 @@ + config('hr.default_locale'), + 'name' => 'Guest', + 'email' => 'guest@example.com', + 'password' => Hash::make('password'), + 'email_verified_at' => now(), + 'remember_token' => Str::random(10), + 'created_at' => now(), + 'updated_at' => now(), + ]); +} \ No newline at end of file diff --git a/app/Models/Department.php b/app/Models/Department.php index 82228fd..871851b 100644 --- a/app/Models/Department.php +++ b/app/Models/Department.php @@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Str; class Department extends Model { @@ -30,6 +31,38 @@ class Department extends Model ]; } + protected static function booted(): void + { + static::saving(function (Department $department): void { + if (blank($department->code) && filled($department->name)) { + $department->code = static::generateUniqueCodeFromName( + $department->name, + $department->id, + ); + } + }); + } + + public static function generateUniqueCodeFromName(string $name, ?int $ignoreId = null): string + { + $base = Str::upper(Str::slug($name)); + + $query = static::query() + ->when($ignoreId, fn ($query) => $query->where('id', '!=', $ignoreId)); + + if (! $query->clone()->where('code', $base)->exists()) { + return $base; + } + + $maxSuffix = $query->clone() + ->where('code', 'like', "{$base}-%") + ->pluck('code') + ->map(fn (string $code): int => (int) Str::after($code, "{$base}-")) + ->max(); + + return "{$base}-".(($maxSuffix ?? 0) + 1); + } + public function employees(): HasMany { return $this->hasMany(Employee::class); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 529bb6c..cbccbf5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -37,6 +37,7 @@ use App\Policies\UserPolicy; use App\Policies\VacationPolicy; use BezhanSalleh\LanguageSwitch\Events\LocaleChanged; use BezhanSalleh\LanguageSwitch\LanguageSwitch; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Gate; use Illuminate\Support\ServiceProvider; @@ -81,11 +82,11 @@ class AppServiceProvider extends ServiceProvider ->locales(config('hr.supported_locales')) ->labels(config('hr.locale_labels')) ->displayLocale('native') - ->userPreferredLocale(fn () => auth()->user()?->locale); + ->userPreferredLocale(fn () => user()->locale); }); Event::listen(function (LocaleChanged $event): void { - auth()->user()?->update(['locale' => $event->locale]); + user()->update(['locale' => $event->locale]); }); } } diff --git a/composer.json b/composer.json index e8073d7..cc89112 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,10 @@ "autoload-dev": { "psr-4": { "Tests\\": "tests/" - } + }, + "files": [ + "app/Helpers/helpers.php" + ] }, "scripts": { "setup": [ diff --git a/database/factories/DepartmentFactory.php b/database/factories/DepartmentFactory.php index 68ec493..4a2864c 100644 --- a/database/factories/DepartmentFactory.php +++ b/database/factories/DepartmentFactory.php @@ -19,9 +19,11 @@ class DepartmentFactory extends Factory */ public function definition(): array { + $name = fake()->unique()->company(); + return [ - 'name' => fake()->unique()->company(), - 'code' => strtoupper(fake()->unique()->bothify('??##')), + 'name' => $name, + 'code' => Department::generateUniqueCodeFromName($name), 'description' => fake()->optional()->sentence(), 'is_active' => true, ]; diff --git a/database/migrations/2026_07_31_123118_add_locale_to_users_table.php b/database/migrations/2026_07_31_123118_add_locale_to_users_table.php index 5ce3dfb..74f3de1 100644 --- a/database/migrations/2026_07_31_123118_add_locale_to_users_table.php +++ b/database/migrations/2026_07_31_123118_add_locale_to_users_table.php @@ -12,7 +12,7 @@ return new class extends Migration public function up(): void { Schema::table('users', function (Blueprint $table) { - $table->string('locale', 5)->default('en')->after('email'); + $table->string('locale', 5)->default('tk')->after('email'); }); } diff --git a/database/seeders/AdminUserSeeder.php b/database/seeders/AdminUserSeeder.php index 836689f..122b810 100644 --- a/database/seeders/AdminUserSeeder.php +++ b/database/seeders/AdminUserSeeder.php @@ -15,7 +15,7 @@ class AdminUserSeeder extends Seeder public function run(): void { $admin = User::query()->updateOrCreate( - ['email' => 'admin@example.com'], + ['email' => 'admin@company.com'], [ 'name' => 'Admin', 'password' => Hash::make('password'), diff --git a/lang/vendor/filament-actions/tk/associate.php b/lang/vendor/filament-actions/tk/associate.php new file mode 100644 index 0000000..467b200 --- /dev/null +++ b/lang/vendor/filament-actions/tk/associate.php @@ -0,0 +1,45 @@ + [ + + 'label' => 'Bagla', + + 'modal' => [ + + 'heading' => ':label bagla', + + 'fields' => [ + + 'record_id' => [ + 'label' => 'Ýazgy', + ], + + ], + + 'actions' => [ + + 'associate' => [ + 'label' => 'Bagla', + ], + + 'associate_another' => [ + 'label' => 'Bagla we ýene bagla', + ], + + ], + + ], + + 'notifications' => [ + + 'associated' => [ + 'title' => 'Baglandy', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/attach.php b/lang/vendor/filament-actions/tk/attach.php new file mode 100644 index 0000000..701e384 --- /dev/null +++ b/lang/vendor/filament-actions/tk/attach.php @@ -0,0 +1,45 @@ + [ + + 'label' => 'Goş', + + 'modal' => [ + + 'heading' => ':label goş', + + 'fields' => [ + + 'record_id' => [ + 'label' => 'Ýazgy', + ], + + ], + + 'actions' => [ + + 'attach' => [ + 'label' => 'Goş', + ], + + 'attach_another' => [ + 'label' => 'Goş we ýene goş', + ], + + ], + + ], + + 'notifications' => [ + + 'attached' => [ + 'title' => 'Goşuldy', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/create.php b/lang/vendor/filament-actions/tk/create.php new file mode 100644 index 0000000..8436b2a --- /dev/null +++ b/lang/vendor/filament-actions/tk/create.php @@ -0,0 +1,37 @@ + [ + + 'label' => 'Döret', + + 'modal' => [ + + 'heading' => ':label döret', + + 'actions' => [ + + 'create' => [ + 'label' => 'Döret', + ], + + 'create_another' => [ + 'label' => 'Döret we ýene döret', + ], + + ], + + ], + + 'notifications' => [ + + 'created' => [ + 'title' => 'Döredildi', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/delete.php b/lang/vendor/filament-actions/tk/delete.php new file mode 100644 index 0000000..29fd176 --- /dev/null +++ b/lang/vendor/filament-actions/tk/delete.php @@ -0,0 +1,73 @@ + [ + + 'label' => 'Poz', + + 'modal' => [ + + 'heading' => ':label poz', + + 'actions' => [ + + 'delete' => [ + 'label' => 'Poz', + ], + + ], + + ], + + 'notifications' => [ + + 'deleted' => [ + 'title' => 'Pozuldy', + ], + + ], + + ], + + 'multiple' => [ + + 'label' => 'Saýlanany poz', + + 'modal' => [ + + 'heading' => 'Saýlanan :label poz', + + 'actions' => [ + + 'delete' => [ + 'label' => 'Poz', + ], + + ], + + ], + + 'notifications' => [ + + 'deleted' => [ + 'title' => 'Pozuldy', + ], + + 'deleted_partial' => [ + 'title' => ':total-dan :count pozuldy', + 'missing_authorization_failure_message' => ':count pozmak üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count pozup bolmady.', + ], + + 'deleted_none' => [ + 'title' => 'Pozmak şowsuz boldy', + 'missing_authorization_failure_message' => ':count pozmak üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count pozup bolmady.', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/detach.php b/lang/vendor/filament-actions/tk/detach.php new file mode 100644 index 0000000..40f6904 --- /dev/null +++ b/lang/vendor/filament-actions/tk/detach.php @@ -0,0 +1,61 @@ + [ + + 'label' => 'Aýyr', + + 'modal' => [ + + 'heading' => ':label aýyr', + + 'actions' => [ + + 'detach' => [ + 'label' => 'Aýyr', + ], + + ], + + ], + + 'notifications' => [ + + 'detached' => [ + 'title' => 'Aýryldy', + ], + + ], + + ], + + 'multiple' => [ + + 'label' => 'Saýlanany aýyr', + + 'modal' => [ + + 'heading' => 'Saýlanan :label aýyr', + + 'actions' => [ + + 'detach' => [ + 'label' => 'Aýyr', + ], + + ], + + ], + + 'notifications' => [ + + 'detached' => [ + 'title' => 'Aýryldy', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/dissociate.php b/lang/vendor/filament-actions/tk/dissociate.php new file mode 100644 index 0000000..7a1b48c --- /dev/null +++ b/lang/vendor/filament-actions/tk/dissociate.php @@ -0,0 +1,61 @@ + [ + + 'label' => 'Baglanyşygy kes', + + 'modal' => [ + + 'heading' => ':label baglanyşygy kes', + + 'actions' => [ + + 'dissociate' => [ + 'label' => 'Baglanyşygy kes', + ], + + ], + + ], + + 'notifications' => [ + + 'dissociated' => [ + 'title' => 'Baglanyşyk kesildi', + ], + + ], + + ], + + 'multiple' => [ + + 'label' => 'Saýlananyň baglanyşygyny kes', + + 'modal' => [ + + 'heading' => 'Saýlanan :label baglanyşygy kes', + + 'actions' => [ + + 'dissociate' => [ + 'label' => 'Baglanyşygy kes', + ], + + ], + + ], + + 'notifications' => [ + + 'dissociated' => [ + 'title' => 'Baglanyşyk kesildi', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/edit.php b/lang/vendor/filament-actions/tk/edit.php new file mode 100644 index 0000000..97d36cc --- /dev/null +++ b/lang/vendor/filament-actions/tk/edit.php @@ -0,0 +1,33 @@ + [ + + 'label' => 'Üýtget', + + 'modal' => [ + + 'heading' => ':label üýtget', + + 'actions' => [ + + 'save' => [ + 'label' => 'Üýtgeşmeleri sakla', + ], + + ], + + ], + + 'notifications' => [ + + 'saved' => [ + 'title' => 'Saklandy', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/export.php b/lang/vendor/filament-actions/tk/export.php new file mode 100644 index 0000000..19ab684 --- /dev/null +++ b/lang/vendor/filament-actions/tk/export.php @@ -0,0 +1,94 @@ + ':label eksport', + + 'modal' => [ + + 'heading' => ':label eksport', + + 'form' => [ + + 'columns' => [ + + 'label' => 'Sütünler', + + 'actions' => [ + + 'select_all' => [ + 'label' => 'Hemmesini saýla', + ], + + 'deselect_all' => [ + 'label' => 'Hemmesini aýyr', + ], + + ], + + 'form' => [ + + 'is_enabled' => [ + 'label' => ':column açyk', + ], + + 'label' => [ + 'label' => ':column ýazgysy', + ], + + ], + + ], + + ], + + 'actions' => [ + + 'export' => [ + 'label' => 'Eksport', + ], + + ], + + ], + + 'notifications' => [ + + 'completed' => [ + + 'title' => 'Eksport tamamlandy', + + 'actions' => [ + + 'download_csv' => [ + 'label' => '.csv göçürip al', + ], + + 'download_xlsx' => [ + 'label' => '.xlsx göçürip al', + ], + + ], + + ], + + 'max_rows' => [ + 'title' => 'Eksport gaty uly', + 'body' => 'Bir gezekde 1-den köp setir eksport edip bolmaýar.|Bir gezekde :count-dan köp setir eksport edip bolmaýar.', + ], + + 'no_columns' => [ + 'title' => 'Sütün saýlanmady', + 'body' => 'Eksport etmek üçin azyndan bir sütün saýlaň.', + ], + + 'started' => [ + 'title' => 'Eksport başlandy', + 'body' => 'Eksportyňyz başlandy we 1 setir fon režiminde işlener. Tamamlananda göçürip almak baglanyşygy bilen bildiriş alarsyňyz.|Eksportyňyz başlandy we :count setir fon režiminde işlener. Tamamlananda göçürip almak baglanyşygy bilen bildiriş alarsyňyz.', + ], + + ], + + 'file_name' => 'export-:export_id-:model', + +]; diff --git a/lang/vendor/filament-actions/tk/force-delete.php b/lang/vendor/filament-actions/tk/force-delete.php new file mode 100644 index 0000000..e18fca6 --- /dev/null +++ b/lang/vendor/filament-actions/tk/force-delete.php @@ -0,0 +1,73 @@ + [ + + 'label' => 'Görkezmesiz poz', + + 'modal' => [ + + 'heading' => ':label görkezmesiz poz', + + 'actions' => [ + + 'delete' => [ + 'label' => 'Poz', + ], + + ], + + ], + + 'notifications' => [ + + 'deleted' => [ + 'title' => 'Pozuldy', + ], + + ], + + ], + + 'multiple' => [ + + 'label' => 'Saýlanany görkezmesiz poz', + + 'modal' => [ + + 'heading' => 'Saýlanan :label görkezmesiz poz', + + 'actions' => [ + + 'delete' => [ + 'label' => 'Poz', + ], + + ], + + ], + + 'notifications' => [ + + 'deleted' => [ + 'title' => 'Pozuldy', + ], + + 'deleted_partial' => [ + 'title' => ':total-dan :count pozuldy', + 'missing_authorization_failure_message' => ':count pozmak üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count pozup bolmady.', + ], + + 'deleted_none' => [ + 'title' => 'Pozmak şowsuz boldy', + 'missing_authorization_failure_message' => ':count pozmak üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count pozup bolmady.', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/group.php b/lang/vendor/filament-actions/tk/group.php new file mode 100644 index 0000000..a0167e5 --- /dev/null +++ b/lang/vendor/filament-actions/tk/group.php @@ -0,0 +1,9 @@ + [ + 'label' => 'Hereketler', + ], + +]; diff --git a/lang/vendor/filament-actions/tk/import.php b/lang/vendor/filament-actions/tk/import.php new file mode 100644 index 0000000..6f6fe66 --- /dev/null +++ b/lang/vendor/filament-actions/tk/import.php @@ -0,0 +1,85 @@ + ':label import', + + 'modal' => [ + + 'heading' => ':label import', + + 'form' => [ + + 'file' => [ + + 'label' => 'Faýl', + + 'placeholder' => 'CSV faýl ýükle', + + 'rules' => [ + 'duplicate_columns' => '{0} Faýlda bir sütünden köp boş sütün başlygy bolmaly däl.|{1,*} Faýlda dublikat sütün başlyklary bolmaly däl: :columns.', + ], + + ], + + 'columns' => [ + 'label' => 'Sütünler', + 'placeholder' => 'Sütün saýla', + ], + + ], + + 'actions' => [ + + 'download_example' => [ + 'label' => 'Mysal CSV faýly göçürip al', + ], + + 'import' => [ + 'label' => 'Import', + ], + + ], + + ], + + 'notifications' => [ + + 'completed' => [ + + 'title' => 'Import tamamlandy', + + 'actions' => [ + + 'download_failed_rows_csv' => [ + 'label' => 'Şowsuz setir barada maglumaty göçürip al|Şowsuz setirler barada maglumaty göçürip al', + ], + + ], + + ], + + 'max_rows' => [ + 'title' => 'Ýüklenen CSV faýl gaty uly', + 'body' => 'Bir gezekde 1-den köp setir import edip bolmaýar.|Bir gezekde :count-dan köp setir import edip bolmaýar.', + ], + + 'started' => [ + 'title' => 'Import başlandy', + 'body' => 'Importyňyz başlandy we 1 setir fon režiminde işlener.|Importyňyz başlandy we :count setir fon režiminde işlener.', + ], + + ], + + 'example_csv' => [ + 'file_name' => ':importer-example', + ], + + 'failure_csv' => [ + 'file_name' => 'import-:import_id-:csv_name-failed-rows', + 'error_header' => 'ýalňyşlyk', + 'system_error' => 'Ulgam ýalňyşlygy, goldaw bilen habarlaşyň.', + 'column_mapping_required_for_new_record' => ':attribute sütüni faýldaky sütün bilen deňleşdirilmedi, ýöne täze ýazgylar döretmek üçin zerur.', + ], + +]; diff --git a/lang/vendor/filament-actions/tk/modal.php b/lang/vendor/filament-actions/tk/modal.php new file mode 100644 index 0000000..b035d26 --- /dev/null +++ b/lang/vendor/filament-actions/tk/modal.php @@ -0,0 +1,23 @@ + 'Muny hakykatdanam etmek isleýärsiňizmi?', + + 'actions' => [ + + 'cancel' => [ + 'label' => 'Ýatyr', + ], + + 'confirm' => [ + 'label' => 'Tassykla', + ], + + 'submit' => [ + 'label' => 'Iber', + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/notifications.php b/lang/vendor/filament-actions/tk/notifications.php new file mode 100644 index 0000000..3245585 --- /dev/null +++ b/lang/vendor/filament-actions/tk/notifications.php @@ -0,0 +1,10 @@ + [ + 'title' => 'Gaty köp synanyşyk', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + +]; diff --git a/lang/vendor/filament-actions/tk/replicate.php b/lang/vendor/filament-actions/tk/replicate.php new file mode 100644 index 0000000..69019bf --- /dev/null +++ b/lang/vendor/filament-actions/tk/replicate.php @@ -0,0 +1,33 @@ + [ + + 'label' => 'Köpelt', + + 'modal' => [ + + 'heading' => ':label köpelt', + + 'actions' => [ + + 'replicate' => [ + 'label' => 'Köpelt', + ], + + ], + + ], + + 'notifications' => [ + + 'replicated' => [ + 'title' => 'Köpeldildi', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/restore.php b/lang/vendor/filament-actions/tk/restore.php new file mode 100644 index 0000000..6482531 --- /dev/null +++ b/lang/vendor/filament-actions/tk/restore.php @@ -0,0 +1,73 @@ + [ + + 'label' => 'Dikelt', + + 'modal' => [ + + 'heading' => ':label dikelt', + + 'actions' => [ + + 'restore' => [ + 'label' => 'Dikelt', + ], + + ], + + ], + + 'notifications' => [ + + 'restored' => [ + 'title' => 'Dikeldildi', + ], + + ], + + ], + + 'multiple' => [ + + 'label' => 'Saýlanany dikelt', + + 'modal' => [ + + 'heading' => 'Saýlanan :label dikelt', + + 'actions' => [ + + 'restore' => [ + 'label' => 'Dikelt', + ], + + ], + + ], + + 'notifications' => [ + + 'restored' => [ + 'title' => 'Dikeldildi', + ], + + 'restored_partial' => [ + 'title' => ':total-dan :count dikeldildi', + 'missing_authorization_failure_message' => ':count dikeltmek üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count dikeldip bolmady.', + ], + + 'restored_none' => [ + 'title' => 'Dikeltmek şowsuz boldy', + 'missing_authorization_failure_message' => ':count dikeltmek üçin ygtyýaryňyz ýok.', + 'missing_processing_failure_message' => ':count dikeldip bolmady.', + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-actions/tk/view.php b/lang/vendor/filament-actions/tk/view.php new file mode 100644 index 0000000..1a24484 --- /dev/null +++ b/lang/vendor/filament-actions/tk/view.php @@ -0,0 +1,25 @@ + [ + + 'label' => 'Gör', + + 'modal' => [ + + 'heading' => ':label gör', + + 'actions' => [ + + 'close' => [ + 'label' => 'Ýap', + ], + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-forms/tk/components.php b/lang/vendor/filament-forms/tk/components.php new file mode 100644 index 0000000..ded00ec --- /dev/null +++ b/lang/vendor/filament-forms/tk/components.php @@ -0,0 +1,854 @@ + [ + + 'actions' => [ + + 'clone' => [ + 'label' => 'Göçür', + ], + + 'add' => [ + + 'label' => ':label goş', + + 'modal' => [ + + 'heading' => ':label goş', + + 'actions' => [ + + 'add' => [ + 'label' => 'Goş', + ], + + ], + + ], + + ], + + 'add_between' => [ + + 'label' => 'Bloklaryň arasynda goý', + + 'modal' => [ + + 'heading' => ':label goş', + + 'actions' => [ + + 'add' => [ + 'label' => 'Goş', + ], + + ], + + ], + + ], + + 'delete' => [ + 'label' => 'Poz', + ], + + 'edit' => [ + + 'label' => 'Üýtget', + + 'modal' => [ + + 'heading' => 'Bloky üýtget', + + 'actions' => [ + + 'save' => [ + 'label' => 'Üýtgeşmeleri sakla', + ], + + ], + + ], + + ], + + 'reorder' => [ + 'label' => 'Göçür', + ], + + 'move_down' => [ + 'label' => 'Aşak göçür', + ], + + 'move_up' => [ + 'label' => 'Ýokary göçür', + ], + + 'collapse' => [ + 'label' => 'Ýygna', + ], + + 'expand' => [ + 'label' => 'Giňelt', + ], + + 'collapse_all' => [ + 'label' => 'Hemmesini ýygna', + ], + + 'expand_all' => [ + 'label' => 'Hemmesini giňelt', + ], + + ], + + ], + + 'checkbox_list' => [ + + 'actions' => [ + + 'deselect_all' => [ + 'label' => 'Hemmesini aýyr', + ], + + 'select_all' => [ + 'label' => 'Hemmesini saýla', + ], + + ], + + ], + + 'color_picker' => [ + + 'panel_label' => 'Reňk saýlaýjy', + + ], + + 'date_time_picker' => [ + + 'month_select' => [ + 'label' => 'Aý', + ], + + 'year_input' => [ + 'label' => 'Ýyl', + ], + + 'hour_input' => [ + 'label' => 'Sagat', + ], + + 'minute_input' => [ + 'label' => 'Minut', + ], + + 'second_input' => [ + 'label' => 'Sekunt', + ], + + ], + + 'file_upload' => [ + + 'actions' => [ + + 'download' => [ + 'label' => 'Göçürip al', + ], + + 'open' => [ + 'label' => 'Täze goýmalyda aç', + ], + + ], + + 'editor' => [ + + 'label' => 'Surat redaktory', + + 'actions' => [ + + 'cancel' => [ + 'label' => 'Ýatyr', + ], + + 'drag_crop' => [ + 'label' => 'Süýräp kesmek režimi', + ], + + 'drag_move' => [ + 'label' => 'Süýräp göçürmek režimi', + ], + + 'flip_horizontal' => [ + 'label' => 'Suraty gorizontal çevir', + ], + + 'flip_vertical' => [ + 'label' => 'Suraty wertikal çevir', + ], + + 'move_down' => [ + 'label' => 'Suraty aşak göçür', + ], + + 'move_left' => [ + 'label' => 'Suraty çepe göçür', + ], + + 'move_right' => [ + 'label' => 'Suraty saga göçür', + ], + + 'move_up' => [ + 'label' => 'Suraty ýokary göçür', + ], + + 'reset' => [ + 'label' => 'Täzeden', + ], + + 'rotate_left' => [ + 'label' => 'Suraty çepe aýla', + ], + + 'rotate_right' => [ + 'label' => 'Suraty saga aýla', + ], + + 'set_aspect_ratio' => [ + 'label' => 'Gatnaşygy :ratio belle', + ], + + 'save' => [ + 'label' => 'Sakla', + ], + + 'zoom_100' => [ + 'label' => 'Suraty 100% ulalt', + ], + + 'zoom_in' => [ + 'label' => 'Ulalt', + ], + + 'zoom_out' => [ + 'label' => 'Kiçelt', + ], + + ], + + 'fields' => [ + + 'height' => [ + 'label' => 'Beýiklik', + 'unit' => 'px', + ], + + 'rotation' => [ + 'label' => 'Aýlanma', + 'unit' => 'deg', + ], + + 'width' => [ + 'label' => 'Giňlik', + 'unit' => 'px', + ], + + 'x_position' => [ + 'label' => 'X', + 'unit' => 'px', + ], + + 'y_position' => [ + 'label' => 'Y', + 'unit' => 'px', + ], + + ], + + 'aspect_ratios' => [ + + 'label' => 'Gatnaşyklar', + + 'no_fixed' => [ + 'label' => 'Erkin', + ], + + ], + + 'svg' => [ + + 'messages' => [ + 'confirmation' => 'SVG faýllaryny redaktirlemek maslahat berilmeýär, sebäbi ulaltmakda hil ýitgisi bolup biler.\n Dowam etmek isleýärsiňizmi?', + 'disabled' => 'SVG faýllaryny redaktirlemek ýapyk, sebäbi ulaltmakda hil ýitgisi bolup biler.', + ], + + ], + + ], + + ], + + 'key_value' => [ + + 'actions' => [ + + 'add' => [ + 'label' => 'Setir goş', + ], + + 'delete' => [ + 'label' => 'Setiri poz', + ], + + 'reorder' => [ + 'label' => 'Setiri saýla', + ], + + ], + + 'columns' => [ + + 'actions' => [ + 'label' => 'Hereketler', + ], + + 'reorder' => [ + 'label' => 'Saýla', + ], + + ], + + 'fields' => [ + + 'key' => [ + 'label' => 'Açar', + ], + + 'value' => [ + 'label' => 'Baha', + ], + + ], + + ], + + 'markdown_editor' => [ + + 'file_attachments_accepted_file_types_message' => 'Ýüklenen faýllar şu görnüşde bolmaly: :values.', + + 'file_attachments_max_size_message' => 'Ýüklenen faýllar :max kilobaýtdan uly bolmaly däl.', + + 'tools' => [ + 'attach_files' => 'Faýl goş', + 'blockquote' => 'Sitata', + 'bold' => 'Galyň', + 'bullet_list' => 'Marker sanawy', + 'code_block' => 'Kod bloky', + 'heading' => 'Başlyk', + 'italic' => 'Egri', + 'link' => 'Baglanyşyk', + 'ordered_list' => 'Sanly sanaw', + 'redo' => 'Gaýtala', + 'strike' => 'Üsti çyzykly', + 'table' => 'Tablisa', + 'undo' => 'Yza al', + ], + + ], + + 'modal_table_select' => [ + + 'actions' => [ + + 'select' => [ + + 'label' => 'Saýla', + + 'actions' => [ + + 'select' => [ + 'label' => 'Saýla', + ], + + ], + + ], + + ], + + ], + + 'radio' => [ + + 'boolean' => [ + 'true' => 'Hawa', + 'false' => 'Ýok', + ], + + ], + + 'repeater' => [ + + 'columns' => [ + + 'actions' => [ + 'label' => 'Hereketler', + ], + + 'reorder' => [ + 'label' => 'Saýla', + ], + + ], + + 'actions' => [ + + 'add' => [ + 'label' => ':label goş', + ], + + 'add_between' => [ + 'label' => 'Arasynda goý', + ], + + 'delete' => [ + 'label' => 'Poz', + ], + + 'clone' => [ + 'label' => 'Göçür', + ], + + 'reorder' => [ + 'label' => 'Göçür', + ], + + 'move_down' => [ + 'label' => 'Aşak göçür', + ], + + 'move_up' => [ + 'label' => 'Ýokary göçür', + ], + + 'collapse' => [ + 'label' => 'Ýygna', + ], + + 'expand' => [ + 'label' => 'Giňelt', + ], + + 'collapse_all' => [ + 'label' => 'Hemmesini ýygna', + ], + + 'expand_all' => [ + 'label' => 'Hemmesini giňelt', + ], + + ], + + ], + + 'rich_editor' => [ + + 'actions' => [ + + 'attach_files' => [ + + 'label' => 'Faýl ýükle', + + 'modal' => [ + + 'heading' => 'Faýl ýükle', + + 'form' => [ + + 'file' => [ + + 'label' => [ + 'new' => 'Faýl', + 'existing' => 'Faýly çalyş', + ], + + ], + + 'alt' => [ + + 'label' => [ + 'new' => 'Alt tekst', + 'existing' => 'Alt teksti üýtget', + ], + + ], + + ], + + ], + + ], + + 'custom_block' => [ + + 'modal' => [ + + 'actions' => [ + + 'insert' => [ + 'label' => 'Goý', + ], + + 'save' => [ + 'label' => 'Sakla', + ], + + ], + + ], + + ], + + 'grid' => [ + + 'label' => 'Tor', + + 'modal' => [ + + 'heading' => 'Tor', + + 'form' => [ + + 'preset' => [ + + 'label' => 'Deslapky sazlanma', + + 'placeholder' => 'Ýok', + + 'options' => [ + 'two' => 'Iki', + 'three' => 'Üç', + 'four' => 'Dört', + 'five' => 'Bäş', + 'two_start_third' => 'Iki (Üçdende başla)', + 'two_end_third' => 'Iki (Üçde tamamla)', + 'two_start_fourth' => 'Iki (Dörtten başla)', + 'two_end_fourth' => 'Iki (Dörtde tamamla)', + ], + ], + + 'columns' => [ + 'label' => 'Sütünler', + ], + + 'from_breakpoint' => [ + + 'label' => 'Kesme nokadyndan', + + 'options' => [ + 'default' => 'Hemmesi', + 'sm' => 'Kiçi', + 'md' => 'Orta', + 'lg' => 'Uly', + 'xl' => 'Has uly', + '2xl' => 'Iki has uly', + ], + + ], + + 'is_asymmetric' => [ + 'label' => 'Iki asimmetrik sütün', + ], + + 'start_span' => [ + 'label' => 'Başlangyç aralygy', + ], + + 'end_span' => [ + 'label' => 'Soňky aralygy', + ], + + ], + + ], + + ], + + 'link' => [ + + 'label' => 'Baglanyşyk', + + 'modal' => [ + + 'heading' => 'Baglanyşyk', + + 'form' => [ + + 'url' => [ + 'label' => 'URL', + ], + + 'should_open_in_new_tab' => [ + 'label' => 'Täze goýmalyda aç', + ], + + ], + + ], + + ], + + 'text_color' => [ + + 'label' => 'Tekst reňki', + + 'modal' => [ + + 'heading' => 'Tekst reňki', + + 'form' => [ + + 'color' => [ + 'label' => 'Reňk', + + 'options' => [ + 'slate' => 'Arag', + 'gray' => 'Çal', + 'zinc' => 'Sink', + 'neutral' => 'Neýtral', + 'stone' => 'Daş', + 'mauve' => 'Mauve', + 'olive' => 'Zeýtun', + 'mist' => 'Duman', + 'taupe' => 'Taupe', + 'red' => 'Gyzyl', + 'orange' => 'Mämişi', + 'amber' => 'Amber', + 'yellow' => 'Sary', + 'lime' => 'Laým', + 'green' => 'Ýaşyl', + 'emerald' => 'Zümrüt', + 'teal' => 'Teal', + 'cyan' => 'Gök', + 'sky' => 'Asman', + 'blue' => 'Gök', + 'indigo' => 'Indigo', + 'violet' => 'Menekşe', + 'purple' => 'Gyrmyzy', + 'fuchsia' => 'Fuşýa', + 'pink' => 'Gülgüne', + 'rose' => 'Gül', + ], + ], + + 'custom_color' => [ + 'label' => 'Aýratyn reňk', + ], + + ], + + ], + + ], + + ], + + 'file_attachments_accepted_file_types_message' => 'Ýüklenen faýllar şu görnüşde bolmaly: :values.', + + 'file_attachments_max_size_message' => 'Ýüklenen faýllar :max kilobaýtdan uly bolmaly däl.', + + 'no_merge_tag_search_results_message' => 'Birleşdirme bellik netijesi ýok.', + + 'mentions' => [ + 'no_options_message' => 'Saýlaw ýok.', + 'no_search_results_message' => 'Gözlegiňize laýyk netije tapylmady.', + 'search_prompt' => 'Gözleg etmek üçin ýazyň...', + 'searching_message' => 'Gözleg...', + ], + + 'toolbar' => [ + 'label' => 'Redaktor paneli', + ], + + 'tools' => [ + 'align_center' => 'Merkeze deňle', + 'align_end' => 'Soňuna deňle', + 'align_justify' => 'Doly deňle', + 'align_start' => 'Başyna deňle', + 'attach_files' => 'Faýl goş', + 'blockquote' => 'Sitata', + 'bold' => 'Galyň', + 'bullet_list' => 'Marker sanawy', + 'clear_formatting' => 'Formaty arassala', + 'code' => 'Kod', + 'code_block' => 'Kod bloky', + 'custom_blocks' => 'Bloklar', + 'details' => 'Jikme-jiklikler', + 'h1' => 'Sarlavha', + 'h2' => 'Başlyk 2', + 'h3' => 'Başlyk 3', + 'h4' => 'Başlyk 4', + 'h5' => 'Başlyk 5', + 'h6' => 'Başlyk 6', + 'grid' => 'Tor', + 'grid_delete' => 'Tory poz', + 'highlight' => 'Belli et', + 'horizontal_rule' => 'Gorizontal çyzgy', + 'italic' => 'Egri', + 'lead' => 'Esasy tekst', + 'link' => 'Baglanyşyk', + 'merge_tags' => 'Birleşdirme bellikler', + 'ordered_list' => 'Sanly sanaw', + 'paragraph' => 'Abzas', + 'redo' => 'Gaýtala', + 'small' => 'Kiçi tekst', + 'strike' => 'Üsti çyzykly', + 'subscript' => 'Aşaky indeks', + 'superscript' => 'Ýokarky indeks', + 'table' => 'Tablisa', + 'table_delete' => 'Tablisany poz', + 'table_add_column_before' => 'Öň sütün goş', + 'table_add_column_after' => 'Soň sütün goş', + 'table_delete_column' => 'Sütüni poz', + 'table_add_row_before' => 'Ýokarda setir goş', + 'table_add_row_after' => 'Aşakda setir goş', + 'table_delete_row' => 'Setiri poz', + 'table_merge_cells' => 'Öýjükleri birleşdir', + 'table_split_cell' => 'Öýjügi böl', + 'table_toggle_header_row' => 'Başlyk setirini aç/ýap', + 'table_toggle_header_cell' => 'Başlyk öýjügini aç/ýap', + 'text_color' => 'Tekst reňki', + 'underline' => 'Alty çyzyk', + 'undo' => 'Yza al', + ], + + 'uploading_file_message' => 'Faýl ýüklenýär...', + + ], + + 'select' => [ + + 'actions' => [ + + 'create_option' => [ + + 'label' => 'Döret', + + 'modal' => [ + + 'heading' => 'Döret', + + 'actions' => [ + + 'create' => [ + 'label' => 'Döret', + ], + + 'create_another' => [ + 'label' => 'Döret we ýene döret', + ], + + ], + + ], + + ], + + 'edit_option' => [ + + 'label' => 'Üýtget', + + 'modal' => [ + + 'heading' => 'Üýtget', + + 'actions' => [ + + 'save' => [ + 'label' => 'Sakla', + ], + + ], + + ], + + ], + + ], + + 'boolean' => [ + 'true' => 'Hawa', + 'false' => 'Ýok', + ], + + 'loading_message' => 'Ýüklenýär...', + + 'max_items_message' => 'Diňe :count saýlap bolýar.', + + 'no_options_message' => 'Saýlaw ýok.', + + 'no_search_results_message' => 'Gözlegiňize laýyk saýlaw tapylmady.', + + 'placeholder' => 'Saýlaw saýla', + + 'searching_message' => 'Gözleg...', + + 'search_prompt' => 'Gözleg etmek üçin ýazyň...', + + ], + + 'tags_input' => [ + + 'actions' => [ + + 'delete' => [ + 'label' => 'Poz', + ], + + ], + + 'placeholder' => 'Täze bellik', + + 'tag_added' => 'Goşuldy: :tag', + + 'tag_removed' => 'Aýryldy: :tag', + + ], + + 'text_input' => [ + + 'actions' => [ + + 'copy' => [ + 'label' => 'Göçür', + 'message' => 'Göçürildi', + ], + + 'hide_password' => [ + 'label' => 'Açar sözüni gizle', + ], + + 'show_password' => [ + 'label' => 'Açar sözüni görkez', + ], + + ], + + ], + + 'toggle_buttons' => [ + + 'boolean' => [ + 'true' => 'Hawa', + 'false' => 'Ýok', + ], + + ], + +]; diff --git a/lang/vendor/filament-forms/tk/validation.php b/lang/vendor/filament-forms/tk/validation.php new file mode 100644 index 0000000..9c42b01 --- /dev/null +++ b/lang/vendor/filament-forms/tk/validation.php @@ -0,0 +1,12 @@ + [ + 'must_be_selected' => 'Azyndan bir :attribute meýdany saýlanmaly.', + 'only_one_must_be_selected' => 'Diňe bir :attribute meýdany saýlanmaly.', + ], + + 'tampered_file_path' => ':attribute meýdanynda rugsat berilmeýän faýl ýoly bar.', + +]; diff --git a/lang/vendor/filament-infolists/tk/components.php b/lang/vendor/filament-infolists/tk/components.php new file mode 100644 index 0000000..eaa3fee --- /dev/null +++ b/lang/vendor/filament-infolists/tk/components.php @@ -0,0 +1,43 @@ + [ + + 'text' => [ + + 'actions' => [ + 'collapse_list' => ':count az görkez', + 'expand_list' => ':count köp görkez', + ], + + 'more_list_items' => 'we ýene :count', + + ], + + 'icon' => [ + 'true' => 'Hawa', + 'false' => 'Ýok', + ], + + 'key_value' => [ + + 'columns' => [ + + 'key' => [ + 'label' => 'Açar', + ], + + 'value' => [ + 'label' => 'Baha', + ], + + ], + + 'placeholder' => 'Ýazgy ýok', + + ], + + ], + +]; diff --git a/lang/vendor/filament-notifications/tk/database.php b/lang/vendor/filament-notifications/tk/database.php new file mode 100644 index 0000000..a8672a7 --- /dev/null +++ b/lang/vendor/filament-notifications/tk/database.php @@ -0,0 +1,30 @@ + [ + + 'heading' => 'Bildirişler', + + 'unread_label' => 'Okalmadyk bildiriş', + + 'actions' => [ + + 'clear' => [ + 'label' => 'Arassala', + ], + + 'mark_all_as_read' => [ + 'label' => 'Hemmesini okaldy diýip belle', + ], + + ], + + 'empty' => [ + 'heading' => 'Bildiriş ýok', + 'description' => 'Soňra gaýtadan barlaň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-notifications/tk/notification.php b/lang/vendor/filament-notifications/tk/notification.php new file mode 100644 index 0000000..a814409 --- /dev/null +++ b/lang/vendor/filament-notifications/tk/notification.php @@ -0,0 +1,13 @@ + [ + + 'close' => [ + 'label' => 'Bildirişi ýap', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/http/controllers/block-email-change-verification-controller.php b/lang/vendor/filament-panels/tk/auth/http/controllers/block-email-change-verification-controller.php new file mode 100644 index 0000000..87b5fff --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/http/controllers/block-email-change-verification-controller.php @@ -0,0 +1,19 @@ + [ + + 'blocked' => [ + 'title' => 'Email salgysyny üýtgetmek bloklandy', + 'body' => ':email salgysyna email üýtgetmek synanyşygyny üstünlikli bloklanyňyz. Başlangyç soragy siz etmedik bolsaňyz, derrew biz bilen habarlaşyň.', + ], + + 'failed' => [ + 'title' => 'Email salgysyny üýtgetmegi bloklap bolmady', + 'body' => 'Gynansak, :email salgysyna email üýtgemegiň öňünden tassyklanmagy sebäpli bloklap bilmediňiz. Başlangyç soragy siz etmedik bolsaňyz, derrew biz bilen habarlaşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/http/controllers/email-change-verification-controller.php b/lang/vendor/filament-panels/tk/auth/http/controllers/email-change-verification-controller.php new file mode 100644 index 0000000..e0e7dfc --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/http/controllers/email-change-verification-controller.php @@ -0,0 +1,19 @@ + [ + + 'unavailable' => [ + 'title' => 'Bu email salgysy indi elýeterli däl.', + 'body' => 'Tassyklama baglanyşygyňyz garaşylýan wagty başga hasap tarapyndan alnypdy.', + ], + + 'verified' => [ + 'title' => 'Email salgysy üýtgedildi', + 'body' => 'Email salgysyňyz üstünlikli :email salgysyna üýtgedildi.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/disable.php b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/disable.php new file mode 100644 index 0000000..ea6f9a4 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/disable.php @@ -0,0 +1,75 @@ + 'Ýap', + + 'modal' => [ + + 'heading' => 'Tassyklama programmasyny ýap', + + 'description' => 'Tassyklama programmasyny ulanymagy bes etmek isleýärsiňizmi? Muny ýapmak hasabyňyzdan goşmaça howpsuzlyk gatlagyny aýyrar.', + + 'form' => [ + + 'code' => [ + + 'label' => 'Tassyklama programmasyndan 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'actions' => [ + + 'use_recovery_code' => [ + 'label' => 'Oňa ýerine dikeltme koduny ulanyň', + ], + + ], + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + 'recovery_code' => [ + + 'label' => 'Ýa-da dikeltme kody giriziň', + + 'validation_attribute' => 'dikeltme kody', + + 'messages' => [ + + 'invalid' => 'Giren dikeltme kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + ], + + 'actions' => [ + + 'submit' => [ + 'label' => 'Tassyklama programmasyny ýap', + ], + + ], + + ], + + 'notifications' => [ + + 'disabled' => [ + 'title' => 'Tassyklama programmasy ýapyldy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/regenerate-recovery-codes.php b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/regenerate-recovery-codes.php new file mode 100644 index 0000000..3de52a9 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/regenerate-recovery-codes.php @@ -0,0 +1,79 @@ + 'Dikeltme kodlaryny täzeden döret', + + 'modal' => [ + + 'heading' => 'Tassyklama programmasy dikeltme kodlaryny täzeden döret', + + 'description' => 'Dikeltme kodlaryňyzy ýitirseňiz, olary bu ýerde täzeden döredip bilersiňiz. Köne dikeltme kodlaryňyz derrew ýaramaz bolar.', + + 'form' => [ + + 'code' => [ + + 'label' => 'Tassyklama programmasyndan 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + 'password' => [ + + 'label' => 'Ýa-da häzirki açar sözüňizi giriziň', + + 'validation_attribute' => 'açar sözi', + + ], + + ], + + 'actions' => [ + + 'submit' => [ + 'label' => 'Dikeltme kodlaryny täzeden döret', + ], + + ], + + ], + + 'notifications' => [ + + 'regenerated' => [ + 'title' => 'Täze tassyklama programmasy dikeltme kodlary döredildi', + ], + + ], + + 'show_new_recovery_codes' => [ + + 'modal' => [ + + 'heading' => 'Täze dikeltme kodlary', + + 'description' => 'Aşakdaky dikeltme kodlaryny howpsuz ýerde saklaň. Olary diňe bir gezek görkezerler, ýöne tassyklama programmasyna girip bilmez ýagdaýyňyzda zerur bolar:', + + 'actions' => [ + + 'submit' => [ + 'label' => 'Ýap', + ], + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/set-up.php b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/set-up.php new file mode 100644 index 0000000..7623523 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/app/actions/set-up.php @@ -0,0 +1,83 @@ + 'Sazla', + + 'modal' => [ + + 'heading' => 'Tassyklama programmasyny sazla', + + 'description' => <<<'BLADE' + Bu prosesi tamamlamak üçin Google Authenticator (iOS, Android) ýaly programma gerek bolar. + BLADE, + + 'content' => [ + + 'qr_code' => [ + + 'instruction' => 'Bu QR koduny tassyklama programmaňyz bilen skanirläň:', + + 'alt' => 'Tassyklama programmasy bilen skanirlemek üçin QR kod', + + ], + + 'text_code' => [ + + 'instruction' => 'Ýa-da bu kody el bilen giriziň:', + + 'messages' => [ + 'copied' => 'Göçürildi', + ], + + ], + + 'recovery_codes' => [ + + 'instruction' => 'Aşakdaky dikeltme kodlaryny howpsuz ýerde saklaň. Olary diňe bir gezek görkezerler, ýöne tassyklama programmasyna girip bilmez ýagdaýyňyzda zerur bolar:', + + ], + + ], + + 'form' => [ + + 'code' => [ + + 'label' => 'Tassyklama programmasyndan 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'below_content' => 'Her gezek giriş edeniňizde ýa-da duýguly hereket edeniňizde tassyklama programmaňyzdan 6 sanly kody girizmeli bolar.', + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + ], + + 'actions' => [ + + 'submit' => [ + 'label' => 'Tassyklama programmasyny aç', + ], + + ], + + ], + + 'notifications' => [ + + 'enabled' => [ + 'title' => 'Tassyklama programmasy açyldy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/app/provider.php b/lang/vendor/filament-panels/tk/auth/multi-factor/app/provider.php new file mode 100644 index 0000000..7f04ec3 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/app/provider.php @@ -0,0 +1,64 @@ + [ + + 'actions' => [ + + 'label' => 'Tassyklama programmasy', + + 'below_content' => 'Giriş tassyklamasy üçin wagtlaýyn kod döretmek üçin howpsuz programma ulanyň.', + + 'messages' => [ + 'enabled' => 'Açyk', + 'disabled' => 'Ýapyk', + ], + + ], + + ], + + 'login_form' => [ + + 'label' => 'Tassyklama programmaňyzdan kody ulanyň', + + 'code' => [ + + 'label' => 'Tassyklama programmasyndan 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'actions' => [ + + 'use_recovery_code' => [ + 'label' => 'Oňa ýerine dikeltme koduny ulanyň', + ], + + ], + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + ], + + ], + + 'recovery_code' => [ + + 'label' => 'Ýa-da dikeltme kody giriziň', + + 'validation_attribute' => 'dikeltme kody', + + 'messages' => [ + + 'invalid' => 'Giren dikeltme kodyňyz nädogry.', + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/disable.php b/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/disable.php new file mode 100644 index 0000000..9165f14 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/disable.php @@ -0,0 +1,73 @@ + 'Ýap', + + 'modal' => [ + + 'heading' => 'Email tassyklama kodlaryny ýap', + + 'description' => 'Email tassyklama kodlaryny almagy bes etmek isleýärsiňizmi? Muny ýapmak hasabyňyzdan goşmaça howpsuzlyk gatlagyny aýyrar.', + + 'form' => [ + + 'code' => [ + + 'label' => 'Email bilen iberen 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'actions' => [ + + 'resend' => [ + + 'label' => 'Email bilen täze kod iber', + + 'notifications' => [ + + 'resent' => [ + 'title' => 'Email bilen täze kod iberdik', + ], + + 'throttled' => [ + 'title' => 'Gaty köp gaýtadan ibermek synanyşygy. Başga kod soramakdan öň garaşyň.', + ], + + ], + + ], + + ], + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + ], + + 'actions' => [ + + 'submit' => [ + 'label' => 'Email tassyklama kodlaryny ýap', + ], + + ], + + ], + + 'notifications' => [ + + 'disabled' => [ + 'title' => 'Email tassyklama kodlary ýapyldy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/set-up.php b/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/set-up.php new file mode 100644 index 0000000..8c8d067 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/email/actions/set-up.php @@ -0,0 +1,73 @@ + 'Sazla', + + 'modal' => [ + + 'heading' => 'Email tassyklama kodlaryny sazla', + + 'description' => 'Her gezek giriş edeniňizde ýa-da duýguly hereket edeniňizde email bilen iberen 6 sanly kody girizmeli bolar. Sazlamagy tamamlamak üçin emailiňizi 6 sanly kod üçin barlaň.', + + 'form' => [ + + 'code' => [ + + 'label' => 'Email bilen iberen 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'actions' => [ + + 'resend' => [ + + 'label' => 'Email bilen täze kod iber', + + 'notifications' => [ + + 'resent' => [ + 'title' => 'Email bilen täze kod iberdik', + ], + + 'throttled' => [ + 'title' => 'Gaty köp gaýtadan ibermek synanyşygy. Başga kod soramakdan öň garaşyň.', + ], + + ], + + ], + + ], + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + 'rate_limited' => 'Gaty köp synanyşyk. Soňra gaýtadan synanyşyň.', + + ], + + ], + + ], + + 'actions' => [ + + 'submit' => [ + 'label' => 'Email tassyklama kodlaryny aç', + ], + + ], + + ], + + 'notifications' => [ + + 'enabled' => [ + 'title' => 'Email tassyklama kodlary açyldy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/email/notifications/verify-email-authentication.php b/lang/vendor/filament-panels/tk/auth/multi-factor/email/notifications/verify-email-authentication.php new file mode 100644 index 0000000..b63cf85 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/email/notifications/verify-email-authentication.php @@ -0,0 +1,12 @@ + 'Giriş kodyňyz', + + 'lines' => [ + 'Giriş kodyňyz: :code', + 'Bu kod bir minutdan soň möhleti gutarar.|Bu kod :minutes minutdan soň möhleti gutarar.', + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/email/provider.php b/lang/vendor/filament-panels/tk/auth/multi-factor/email/provider.php new file mode 100644 index 0000000..979d565 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/email/provider.php @@ -0,0 +1,64 @@ + [ + + 'actions' => [ + + 'label' => 'Email tassyklama kodlary', + + 'below_content' => 'Giriş wagtynda kimligiňizi tassyklamak üçin email salgysyňyza wagtlaýyn kod alyň.', + + 'messages' => [ + 'enabled' => 'Açyk', + 'disabled' => 'Ýapyk', + ], + + ], + + ], + + 'login_form' => [ + + 'label' => 'Email salgysyňyza kod iber', + + 'code' => [ + + 'label' => 'Email bilen iberen 6 sanly kody giriziň', + + 'validation_attribute' => 'kod', + + 'actions' => [ + + 'resend' => [ + + 'label' => 'Email bilen täze kod iber', + + 'notifications' => [ + + 'resent' => [ + 'title' => 'Email bilen täze kod iberdik', + ], + + 'throttled' => [ + 'title' => 'Gaty köp gaýtadan ibermek synanyşygy. Başga kod soramakdan öň garaşyň.', + ], + + ], + + ], + + ], + + 'messages' => [ + + 'invalid' => 'Giren kodyňyz nädogry.', + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/pages/set-up-required-multi-factor-authentication.php b/lang/vendor/filament-panels/tk/auth/multi-factor/pages/set-up-required-multi-factor-authentication.php new file mode 100644 index 0000000..0aa8a1c --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/pages/set-up-required-multi-factor-authentication.php @@ -0,0 +1,19 @@ + 'Iki faktorly tassyklamany (2FA) sazla', + + 'heading' => 'Iki faktorly tassyklamany sazla', + + 'subheading' => '2FA giriş edeniňizde tassyklamak üçin goşmaça barlag talap edip, hasabyňyza goşmaça howpsuzlyk goşýar.', + + 'actions' => [ + + 'continue' => [ + 'label' => 'Dowam et', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/multi-factor/recovery-codes-modal-content.php b/lang/vendor/filament-panels/tk/auth/multi-factor/recovery-codes-modal-content.php new file mode 100644 index 0000000..fd43cba --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/multi-factor/recovery-codes-modal-content.php @@ -0,0 +1,27 @@ + [ + + 'Click to', + + 'copy' => [ + 'label' => 'göçür', + ], + + 'or', + + 'download' => [ + 'label' => 'göçürip al', + ], + + 'all the codes at once.', + + ], + + 'messages' => [ + 'copied' => 'Göçürildi', + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/notifications/notice-of-email-change-request.php b/lang/vendor/filament-panels/tk/auth/notifications/notice-of-email-change-request.php new file mode 100644 index 0000000..7f29e14 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/notifications/notice-of-email-change-request.php @@ -0,0 +1,16 @@ + 'Email salgysyňyz üýtgeşdirilýär', + + 'lines' => [ + 'Hasabyňyz bilen baglanyşykly email salgysyny üýtgetmek soragy aldyk. Bu üýtgeşmäni tassyklamak üçin açar sözüňiz ulanyldy.', + 'Tassyklanandan soň hasabyňyzyň täze email salgysy: :email.', + 'Tassyklanmazdan öň aşakdaky düwmä basyp üýtgeşmäni blokirläp bilersiňiz.', + 'Bu soragy siz etmedik bolsaňyz, derrew biz bilen habarlaşyň.', + ], + + 'action' => 'Email üýtgeşmesini blokla', + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/edit-profile.php b/lang/vendor/filament-panels/tk/auth/pages/edit-profile.php new file mode 100644 index 0000000..3191f3e --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/edit-profile.php @@ -0,0 +1,73 @@ + 'Profil', + + 'form' => [ + + 'email' => [ + 'label' => 'Email salgysy', + ], + + 'name' => [ + 'label' => 'Ady', + ], + + 'password' => [ + 'label' => 'Täze açar sözi', + 'validation_attribute' => 'açar sözi', + ], + + 'password_confirmation' => [ + 'label' => 'Täze açar sözüni tassykla', + 'validation_attribute' => 'açar sözi tassyklama', + ], + + 'current_password' => [ + 'label' => 'Häzirki açar sözi', + 'below_content' => 'Howpsuzlyk üçin dowam etmek üçin açar sözüňizi tassyklaň.', + 'validation_attribute' => 'häzirki açar sözi', + ], + + 'actions' => [ + + 'save' => [ + 'label' => 'Üýtgeşmeleri sakla', + ], + + ], + + ], + + 'multi_factor_authentication' => [ + 'label' => 'Iki faktorly tassyklama (2FA)', + ], + + 'notifications' => [ + + 'email_change_verification_sent' => [ + 'title' => 'Email salgysyny üýtgetmek soragy iberildi', + 'body' => 'Email salgysyny üýtgetmek soragy :email salgysyna iberildi. Üýtgeşmäni tassyklamak üçin emailiňizi barlaň.', + ], + + 'saved' => [ + 'title' => 'Saklandy', + ], + + 'throttled' => [ + 'title' => 'Gaty köp sorag. :seconds sekuntdan soň gaýtadan synanyşyň.', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + + 'actions' => [ + + 'cancel' => [ + 'label' => 'Ýatyr', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/email-verification/email-verification-prompt.php b/lang/vendor/filament-panels/tk/auth/pages/email-verification/email-verification-prompt.php new file mode 100644 index 0000000..baf9271 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/email-verification/email-verification-prompt.php @@ -0,0 +1,35 @@ + 'Email salgysyny tassyklaň', + + 'heading' => 'Email salgysyny tassyklaň', + + 'actions' => [ + + 'resend_notification' => [ + 'label' => 'Gaýtadan iber', + ], + + ], + + 'messages' => [ + 'notification_not_received' => 'Iberen emailimizi almadyňyzmy?', + 'notification_sent' => 'Email salgysyny nädip tassyklamalydygy barada görkezmeler bilen :email salgysyna email iberdik.', + ], + + 'notifications' => [ + + 'notification_resent' => [ + 'title' => 'Emaili gaýtadan iberdik.', + ], + + 'notification_resend_throttled' => [ + 'title' => 'Gaty köp gaýtadan ibermek synanyşygy', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/login.php b/lang/vendor/filament-panels/tk/auth/pages/login.php new file mode 100644 index 0000000..5b8459c --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/login.php @@ -0,0 +1,85 @@ + 'Giriş', + + 'heading' => 'Giriş', + + 'actions' => [ + + 'register' => [ + 'before' => 'ýa-da', + 'label' => 'hasap aç', + ], + + 'request_password_reset' => [ + 'label' => 'Açar sözüni ýatdan çykardyňyzmy?', + ], + + ], + + 'form' => [ + + 'email' => [ + 'label' => 'Email salgysy', + ], + + 'password' => [ + 'label' => 'Açar sözi', + ], + + 'remember' => [ + 'label' => 'Meni ýatda sakla', + ], + + 'actions' => [ + + 'authenticate' => [ + 'label' => 'Giriş', + ], + + ], + + ], + + 'multi_factor' => [ + + 'heading' => 'Kimligiňizi tassyklaň', + + 'subheading' => 'Girişe dowam etmek üçin kimligiňizi tassyklamaly.', + + 'form' => [ + + 'provider' => [ + 'label' => 'Nädip tassyklamak isleýärsiňiz?', + ], + + 'actions' => [ + + 'authenticate' => [ + 'label' => 'Girişi tassykla', + ], + + ], + + ], + + ], + + 'messages' => [ + + 'failed' => 'Bu maglumatlar ýazgylarymyz bilen gabat gelmeýär.', + + ], + + 'notifications' => [ + + 'throttled' => [ + 'title' => 'Gaty köp giriş synanyşygy', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/password-reset/request-password-reset.php b/lang/vendor/filament-panels/tk/auth/pages/password-reset/request-password-reset.php new file mode 100644 index 0000000..f5805b5 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/password-reset/request-password-reset.php @@ -0,0 +1,46 @@ + 'Açar sözüni täzeden belle', + + 'heading' => 'Açar sözüni ýatdan çykardyňyzmy?', + + 'actions' => [ + + 'login' => [ + 'label' => 'girişe gaýt', + ], + + ], + + 'form' => [ + + 'email' => [ + 'label' => 'Email salgysy', + ], + + 'actions' => [ + + 'request' => [ + 'label' => 'Email iber', + ], + + ], + + ], + + 'notifications' => [ + + 'sent' => [ + 'body' => 'Hasabyňyz ýok bolsa, email almarsyňyz.', + ], + + 'throttled' => [ + 'title' => 'Gaty köp sorag', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/password-reset/reset-password.php b/lang/vendor/filament-panels/tk/auth/pages/password-reset/reset-password.php new file mode 100644 index 0000000..70d47b8 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/password-reset/reset-password.php @@ -0,0 +1,43 @@ + 'Açar sözüni täzeden belle', + + 'heading' => 'Açar sözüni täzeden belle', + + 'form' => [ + + 'email' => [ + 'label' => 'Email salgysy', + ], + + 'password' => [ + 'label' => 'Açar sözi', + 'validation_attribute' => 'açar sözi', + ], + + 'password_confirmation' => [ + 'label' => 'Açar sözüni tassykla', + ], + + 'actions' => [ + + 'reset' => [ + 'label' => 'Açar sözüni täzeden belle', + ], + + ], + + ], + + 'notifications' => [ + + 'throttled' => [ + 'title' => 'Gaty köp täzeden bellemek synanyşygy', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/auth/pages/register.php b/lang/vendor/filament-panels/tk/auth/pages/register.php new file mode 100644 index 0000000..381fc05 --- /dev/null +++ b/lang/vendor/filament-panels/tk/auth/pages/register.php @@ -0,0 +1,56 @@ + 'Hasaba al', + + 'heading' => 'Hasaba al', + + 'actions' => [ + + 'login' => [ + 'before' => 'ýa-da', + 'label' => 'hasaba gir', + ], + + ], + + 'form' => [ + + 'email' => [ + 'label' => 'Email salgysy', + ], + + 'name' => [ + 'label' => 'Ady', + ], + + 'password' => [ + 'label' => 'Açar sözi', + 'validation_attribute' => 'açar sözi', + ], + + 'password_confirmation' => [ + 'label' => 'Açar sözüni tassykla', + ], + + 'actions' => [ + + 'register' => [ + 'label' => 'Hasaba al', + ], + + ], + + ], + + 'notifications' => [ + + 'throttled' => [ + 'title' => 'Gaty köp hasaba almak synanyşygy', + 'body' => ':seconds sekuntdan soň gaýtadan synanyşyň.', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/error-notifications.php b/lang/vendor/filament-panels/tk/error-notifications.php new file mode 100644 index 0000000..ca909d7 --- /dev/null +++ b/lang/vendor/filament-panels/tk/error-notifications.php @@ -0,0 +1,9 @@ + 'Sahypany ýüklemekde ýalňyşlyk', + + 'body' => 'Bu sahypany ýüklemek synanyşylanda ýalňyşlyk ýüze çykdy. Soňra gaýtadan synanyşyň.', + +]; diff --git a/lang/vendor/filament-panels/tk/global-search.php b/lang/vendor/filament-panels/tk/global-search.php new file mode 100644 index 0000000..2f5f784 --- /dev/null +++ b/lang/vendor/filament-panels/tk/global-search.php @@ -0,0 +1,12 @@ + [ + 'label' => 'Global gözleg', + 'placeholder' => 'Gözleg', + ], + + 'no_results_message' => 'Gözleg netijesi tapylmady.', + +]; diff --git a/lang/vendor/filament-panels/tk/layout.php b/lang/vendor/filament-panels/tk/layout.php new file mode 100644 index 0000000..d552aa0 --- /dev/null +++ b/lang/vendor/filament-panels/tk/layout.php @@ -0,0 +1,87 @@ + 'ltr', + + 'skip_to_content' => [ + 'label' => 'Mazmuna geç', + ], + + 'actions' => [ + + 'billing' => [ + 'label' => 'Abunalygy dolandyr', + ], + + 'logout' => [ + 'label' => 'Çykyş', + ], + + 'open_database_notifications' => [ + 'label' => 'Bildirişler', + 'label_with_unread_count' => '{1} Bildirişler, :count okalmadyk bildiriş|[2,*] Bildirişler, :count okalmadyk bildiriş', + ], + + 'open_user_menu' => [ + 'label' => 'Ulanyjy menýusy', + ], + + 'sidebar' => [ + + 'collapse' => [ + 'label' => 'Gapdal paneli ýygna', + ], + + 'expand' => [ + 'label' => 'Gapdal paneli giňelt', + ], + + ], + + 'theme_switcher' => [ + + 'label' => 'Tema', + + 'dark' => [ + 'label' => 'Garaňky temany aç', + ], + + 'light' => [ + 'label' => 'Ýagty temany aç', + ], + + 'system' => [ + 'label' => 'Ulgam temasyny aç', + ], + + ], + + ], + + 'navigation' => [ + 'label' => 'Gapdal panel navigasiýasy', + ], + + 'topbar' => [ + 'label' => 'Ýokarky panel', + ], + + 'avatar' => [ + 'alt' => ':name awatary', + ], + + 'logo' => [ + 'alt' => ':name logotipy', + ], + + 'tenant_menu' => [ + + 'search_field' => [ + 'label' => 'Kirýeçi gözlegi', + 'placeholder' => 'Gözleg', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/pages/dashboard.php b/lang/vendor/filament-panels/tk/pages/dashboard.php new file mode 100644 index 0000000..53ee3ac --- /dev/null +++ b/lang/vendor/filament-panels/tk/pages/dashboard.php @@ -0,0 +1,33 @@ + 'Dolandyryş paneli', + + 'actions' => [ + + 'filter' => [ + + 'label' => 'Filtr', + + 'modal' => [ + + 'heading' => 'Filtr', + + 'actions' => [ + + 'apply' => [ + + 'label' => 'Ulany', + + ], + + ], + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/pages/tenancy/edit-tenant-profile.php b/lang/vendor/filament-panels/tk/pages/tenancy/edit-tenant-profile.php new file mode 100644 index 0000000..34cff67 --- /dev/null +++ b/lang/vendor/filament-panels/tk/pages/tenancy/edit-tenant-profile.php @@ -0,0 +1,25 @@ + [ + + 'actions' => [ + + 'save' => [ + 'label' => 'Üýtgeşmeleri sakla', + ], + + ], + + ], + + 'notifications' => [ + + 'saved' => [ + 'title' => 'Saklandy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/resources/pages/create-record.php b/lang/vendor/filament-panels/tk/resources/pages/create-record.php new file mode 100644 index 0000000..afb1494 --- /dev/null +++ b/lang/vendor/filament-panels/tk/resources/pages/create-record.php @@ -0,0 +1,37 @@ + ':label döret', + + 'breadcrumb' => 'Döret', + + 'form' => [ + + 'actions' => [ + + 'cancel' => [ + 'label' => 'Ýatyr', + ], + + 'create' => [ + 'label' => 'Döret', + ], + + 'create_another' => [ + 'label' => 'Döret we ýene döret', + ], + + ], + + ], + + 'notifications' => [ + + 'created' => [ + 'title' => 'Döredildi', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/resources/pages/edit-record.php b/lang/vendor/filament-panels/tk/resources/pages/edit-record.php new file mode 100644 index 0000000..6095f93 --- /dev/null +++ b/lang/vendor/filament-panels/tk/resources/pages/edit-record.php @@ -0,0 +1,43 @@ + ':label üýtget', + + 'breadcrumb' => 'Üýtget', + + 'navigation_label' => 'Üýtget', + + 'form' => [ + + 'actions' => [ + + 'cancel' => [ + 'label' => 'Ýatyr', + ], + + 'save' => [ + 'label' => 'Üýtgeşmeleri sakla', + ], + + ], + + ], + + 'content' => [ + + 'tab' => [ + 'label' => 'Üýtget', + ], + + ], + + 'notifications' => [ + + 'saved' => [ + 'title' => 'Saklandy', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/resources/pages/list-records.php b/lang/vendor/filament-panels/tk/resources/pages/list-records.php new file mode 100644 index 0000000..91411bf --- /dev/null +++ b/lang/vendor/filament-panels/tk/resources/pages/list-records.php @@ -0,0 +1,7 @@ + 'Sanaw', + +]; diff --git a/lang/vendor/filament-panels/tk/resources/pages/manage-related-records.php b/lang/vendor/filament-panels/tk/resources/pages/manage-related-records.php new file mode 100644 index 0000000..aaf7ae7 --- /dev/null +++ b/lang/vendor/filament-panels/tk/resources/pages/manage-related-records.php @@ -0,0 +1,7 @@ + ':label :relationship dolandyr', + +]; diff --git a/lang/vendor/filament-panels/tk/resources/pages/view-record.php b/lang/vendor/filament-panels/tk/resources/pages/view-record.php new file mode 100644 index 0000000..195d3ed --- /dev/null +++ b/lang/vendor/filament-panels/tk/resources/pages/view-record.php @@ -0,0 +1,19 @@ + ':label gör', + + 'breadcrumb' => 'Gör', + + 'navigation_label' => 'Gör', + + 'content' => [ + + 'tab' => [ + 'label' => 'Gör', + ], + + ], + +]; diff --git a/lang/vendor/filament-panels/tk/unsaved-changes-alert.php b/lang/vendor/filament-panels/tk/unsaved-changes-alert.php new file mode 100644 index 0000000..f37cf3f --- /dev/null +++ b/lang/vendor/filament-panels/tk/unsaved-changes-alert.php @@ -0,0 +1,7 @@ + 'Saklanmadyk üýtgeşmeleriňiz bar. Bu sahypadan çykmaga ynanýarsyňyzmy?', + +]; diff --git a/lang/vendor/filament-panels/tk/widgets/account-widget.php b/lang/vendor/filament-panels/tk/widgets/account-widget.php new file mode 100644 index 0000000..f6f887e --- /dev/null +++ b/lang/vendor/filament-panels/tk/widgets/account-widget.php @@ -0,0 +1,15 @@ + [ + + 'logout' => [ + 'label' => 'Çykyş', + ], + + ], + + 'welcome' => 'Hoş geldiňiz', + +]; diff --git a/lang/vendor/filament-panels/tk/widgets/filament-info-widget.php b/lang/vendor/filament-panels/tk/widgets/filament-info-widget.php new file mode 100644 index 0000000..94c168c --- /dev/null +++ b/lang/vendor/filament-panels/tk/widgets/filament-info-widget.php @@ -0,0 +1,17 @@ + [ + + 'open_documentation' => [ + 'label' => 'Resminamalar', + ], + + 'open_github' => [ + 'label' => 'GitHub', + ], + + ], + +]; diff --git a/lang/vendor/filament-query-builder/tk/query-builder.php b/lang/vendor/filament-query-builder/tk/query-builder.php new file mode 100644 index 0000000..6cbf1ea --- /dev/null +++ b/lang/vendor/filament-query-builder/tk/query-builder.php @@ -0,0 +1,566 @@ + 'Sorag gurluşy', + + 'form' => [ + + 'operator' => [ + 'label' => 'Operator', + ], + + 'or_groups' => [ + + 'label' => 'Toparlar', + + 'group' => [ + 'label' => 'Topar', + ], + + 'block' => [ + 'label' => 'ÝA-DA şert', + 'or' => 'ÝA-DA', + ], + + ], + + 'rules' => [ + + 'label' => 'Düzgünler', + + 'item' => [ + 'and' => 'WE', + ], + + ], + + ], + + 'no_rules' => '(Düzgün ýok)', + + 'max_rules_reached_tooltip' => ':count düzgüniň maksimumyna ýetdiňiz.', + + 'item_separators' => [ + 'and' => 'WE', + 'or' => 'ÝA-DA', + ], + + 'operators' => [ + + 'is_filled' => [ + + 'label' => [ + 'direct' => 'Doldurylan', + 'inverse' => 'Boş', + ], + + 'summary' => [ + 'direct' => ':attribute doldurylan', + 'inverse' => ':attribute boş', + ], + + ], + + 'boolean' => [ + + 'is_true' => [ + + 'label' => [ + 'direct' => 'Dogry', + 'inverse' => 'Ýalňyş', + ], + + 'summary' => [ + 'direct' => ':attribute dogry', + 'inverse' => ':attribute ýalňyş', + ], + + ], + + ], + + 'date' => [ + + 'is_after' => [ + + 'label' => [ + 'direct' => 'Soň', + 'inverse' => 'Soň däl', + ], + + 'summary' => [ + 'direct' => ':attribute :date-dan soň', + 'inverse' => ':attribute :date-dan soň däl', + ], + + ], + + 'is_before' => [ + + 'label' => [ + 'direct' => 'Öň', + 'inverse' => 'Öň däl', + ], + + 'summary' => [ + 'direct' => ':attribute :date-dan öň', + 'inverse' => ':attribute :date-dan öň däl', + ], + + ], + + 'is_date' => [ + + 'label' => [ + 'direct' => 'Sene', + 'inverse' => 'Sene däl', + ], + + 'summary' => [ + 'direct' => ':attribute :date', + 'inverse' => ':attribute :date däl', + ], + + ], + + 'is_month' => [ + + 'label' => [ + 'direct' => 'Aý', + 'inverse' => 'Aý däl', + ], + + 'summary' => [ + 'direct' => ':attribute :month', + 'inverse' => ':attribute :month däl', + ], + + ], + + 'is_year' => [ + + 'label' => [ + 'direct' => 'Ýyl', + 'inverse' => 'Ýyl däl', + ], + + 'summary' => [ + 'direct' => ':attribute :year', + 'inverse' => ':attribute :year däl', + ], + + ], + + 'unit_labels' => [ + 'second' => 'Sekunt', + 'minute' => 'Minut', + 'hour' => 'Sagat', + 'day' => 'Gün', + 'week' => 'Hepde', + 'month' => 'Aý', + 'quarter' => 'Çärýek', + 'year' => 'Ýyl', + ], + + 'presets' => [ + 'past_decade' => 'Geçen onýyllyk', + 'past_5_years' => 'Geçen 5 ýyl', + 'past_2_years' => 'Geçen 2 ýyl', + 'past_year' => 'Geçen ýyl', + 'past_6_months' => 'Geçen 6 aý', + 'past_quarter' => 'Geçen çärýek', + 'past_month' => 'Geçen aý', + 'past_2_weeks' => 'Geçen 2 hepde', + 'past_week' => 'Geçen hepde', + 'past_hour' => 'Geçen sagat', + 'past_minute' => 'Geçen minut', + 'this_decade' => 'Bu onýyllyk', + 'this_year' => 'Bu ýyl', + 'this_quarter' => 'Bu çärýek', + 'this_month' => 'Bu aý', + 'today' => 'Şu gün', + 'this_hour' => 'Bu sagat', + 'this_minute' => 'Bu minut', + 'next_minute' => 'Indiki minut', + 'next_hour' => 'Indiki sagat', + 'next_week' => 'Indiki hepde', + 'next_2_weeks' => 'Indiki 2 hepde', + 'next_month' => 'Indiki aý', + 'next_quarter' => 'Indiki çärýek', + 'next_6_months' => 'Indiki 6 aý', + 'next_year' => 'Indiki ýyl', + 'next_2_years' => 'Indiki 2 ýyl', + 'next_5_years' => 'Indiki 5 ýyl', + 'next_decade' => 'Indiki onýyllyk', + 'custom' => 'Aýratyn', + ], + + 'form' => [ + + 'date' => [ + 'label' => 'Sene', + ], + + 'month' => [ + 'label' => 'Aý', + ], + + 'year' => [ + 'label' => 'Ýyl', + ], + + 'mode' => [ + + 'label' => 'Sene görnüşi', + + 'options' => [ + 'absolute' => 'Anyk sene', + 'relative' => 'Göçýän aralyk', + ], + + ], + + 'preset' => [ + 'label' => 'Wagt aralygy', + ], + + 'relative_value' => [ + 'label' => 'Näçe', + ], + + 'relative_unit' => [ + 'label' => 'Wagt birligi', + ], + + 'tense' => [ + + 'label' => 'Zaman', + + 'options' => [ + 'past' => 'Geçen', + 'future' => 'Geljek', + ], + + ], + + ], + + ], + + 'number' => [ + + 'equals' => [ + + 'label' => [ + 'direct' => 'Deň', + 'inverse' => 'Deň däl', + ], + + 'summary' => [ + 'direct' => ':attribute :number-a deň', + 'inverse' => ':attribute :number-a deň däl', + ], + + ], + + 'is_max' => [ + + 'label' => [ + 'direct' => 'Maksimum', + 'inverse' => 'Uly', + ], + + 'summary' => [ + 'direct' => ':attribute maksimum :number', + 'inverse' => ':attribute :number-dan uly', + ], + + ], + + 'is_min' => [ + + 'label' => [ + 'direct' => 'Minimum', + 'inverse' => 'Kiçi', + ], + + 'summary' => [ + 'direct' => ':attribute minimum :number', + 'inverse' => ':attribute :number-dan kiçi', + ], + + ], + + 'aggregates' => [ + + 'average' => [ + 'label' => 'Ortaça', + 'summary' => ':attribute ortaçasy', + ], + + 'max' => [ + 'label' => 'Maks', + 'summary' => ':attribute maksimumy', + ], + + 'min' => [ + 'label' => 'Min', + 'summary' => ':attribute minimumy', + ], + + 'sum' => [ + 'label' => 'Jemi', + 'summary' => ':attribute jemi', + ], + + ], + + 'form' => [ + + 'aggregate' => [ + 'label' => 'Jemleme', + ], + + 'number' => [ + 'label' => 'San', + ], + + ], + + ], + + 'relationship' => [ + + 'equals' => [ + + 'label' => [ + 'direct' => 'Bar', + 'inverse' => 'Ýok', + ], + + 'summary' => [ + 'direct' => ':count :relationship bar', + 'inverse' => ':count :relationship ýok', + ], + + ], + + 'has_max' => [ + + 'label' => [ + 'direct' => 'Maksimum bar', + 'inverse' => 'Köp bar', + ], + + 'summary' => [ + 'direct' => 'Maksimum :count :relationship bar', + 'inverse' => ':count :relationship-dan köp bar', + ], + + ], + + 'has_min' => [ + + 'label' => [ + 'direct' => 'Minimum bar', + 'inverse' => 'Az bar', + ], + + 'summary' => [ + 'direct' => 'Minimum :count :relationship bar', + 'inverse' => ':count :relationship-dan az bar', + ], + + ], + + 'is_empty' => [ + + 'label' => [ + 'direct' => 'Boş', + 'inverse' => 'Boş däl', + ], + + 'summary' => [ + 'direct' => ':relationship boş', + 'inverse' => ':relationship boş däl', + ], + + ], + + 'is_related_to' => [ + + 'label' => [ + + 'single' => [ + 'direct' => 'Bu', + 'inverse' => 'Bu däl', + ], + + 'multiple' => [ + 'direct' => 'Goşýar', + 'inverse' => 'Goşmaýar', + ], + + ], + + 'summary' => [ + + 'single' => [ + 'direct' => ':relationship :values', + 'inverse' => ':relationship :values däl', + ], + + 'multiple' => [ + 'direct' => ':relationship :values goşýar', + 'inverse' => ':relationship :values goşmaýar', + ], + + 'values_glue' => [ + 0 => ', ', + 'final' => ' ýa-da ', + ], + + ], + + 'form' => [ + + 'value' => [ + 'label' => 'Baha', + ], + + 'values' => [ + 'label' => 'Bahalar', + ], + + ], + + ], + + 'form' => [ + + 'count' => [ + 'label' => 'Sany', + ], + + ], + + ], + + 'select' => [ + + 'is' => [ + + 'label' => [ + 'direct' => 'Bu', + 'inverse' => 'Bu däl', + ], + + 'summary' => [ + 'direct' => ':attribute :values', + 'inverse' => ':attribute :values däl', + 'values_glue' => [ + ', ', + 'final' => ' ýa-da ', + ], + ], + + 'form' => [ + + 'value' => [ + 'label' => 'Baha', + ], + + 'values' => [ + 'label' => 'Bahalar', + ], + + ], + + ], + + ], + + 'text' => [ + + 'contains' => [ + + 'label' => [ + 'direct' => 'Goşýar', + 'inverse' => 'Goşmaýar', + ], + + 'summary' => [ + 'direct' => ':attribute :text goşýar', + 'inverse' => ':attribute :text goşmaýar', + ], + + ], + + 'ends_with' => [ + + 'label' => [ + 'direct' => 'Bilen tamamlanýar', + 'inverse' => 'Bilen tamamlanmaýar', + ], + + 'summary' => [ + 'direct' => ':attribute :text bilen tamamlanýar', + 'inverse' => ':attribute :text bilen tamamlanmaýar', + ], + + ], + + 'equals' => [ + + 'label' => [ + 'direct' => 'Deň', + 'inverse' => 'Deň däl', + ], + + 'summary' => [ + 'direct' => ':attribute :text-a deň', + 'inverse' => ':attribute :text-a deň däl', + ], + + ], + + 'starts_with' => [ + + 'label' => [ + 'direct' => 'Bilen başlanýar', + 'inverse' => 'Bilen başlanmaýar', + ], + + 'summary' => [ + 'direct' => ':attribute :text bilen başlanýar', + 'inverse' => ':attribute :text bilen başlanmaýar', + ], + + ], + + 'form' => [ + + 'text' => [ + 'label' => 'Tekst', + ], + + ], + + ], + + ], + + 'actions' => [ + + 'add_rule' => [ + 'label' => 'Düzgün goş', + ], + + 'add_rule_group' => [ + 'label' => 'ÝA-DA goş', + ], + + ], + +]; diff --git a/lang/vendor/filament-schemas/tk/components.php b/lang/vendor/filament-schemas/tk/components.php new file mode 100644 index 0000000..8c54ccb --- /dev/null +++ b/lang/vendor/filament-schemas/tk/components.php @@ -0,0 +1,61 @@ + [ + + 'statuses' => [ + 'danger' => 'Ýalňyşlyk:', + 'info' => 'Bellik:', + 'success' => 'Üstünlik:', + 'warning' => 'Duýduryş:', + ], + + ], + + 'section' => [ + + 'actions' => [ + + 'collapse' => [ + 'label' => 'Bölümi ýygna', + ], + + 'expand' => [ + 'label' => 'Bölümi giňelt', + ], + + ], + + ], + + 'wizard' => [ + + 'actions' => [ + + 'previous_step' => [ + 'label' => 'Yza', + ], + + 'next_step' => [ + 'label' => 'Indiki', + ], + + ], + + 'header' => [ + + 'step' => [ + + 'statuses' => [ + 'completed' => 'Tamamlandy', + 'upcoming' => 'Tamamlanmady', + ], + + ], + + ], + + ], + +]; diff --git a/lang/vendor/filament-shield/tk/filament-shield.php b/lang/vendor/filament-shield/tk/filament-shield.php new file mode 100644 index 0000000..ea2feb7 --- /dev/null +++ b/lang/vendor/filament-shield/tk/filament-shield.php @@ -0,0 +1,85 @@ + 'Ady', + 'column.guard_name' => 'Gorag ady', + 'column.team' => 'Topar', + 'column.roles' => 'Rollar', + 'column.permissions' => 'Ygtyýarlar', + 'column.updated_at' => 'Täzelenen wagty', + + /* + |-------------------------------------------------------------------------- + | Form Fields + |-------------------------------------------------------------------------- + */ + + 'field.name' => 'Ady', + 'field.guard_name' => 'Gorag ady', + 'field.permissions' => 'Ygtyýarlar', + 'field.team' => 'Topar', + 'field.team.placeholder' => 'Topar saýla ...', + 'field.select_all.name' => 'Hemmesini saýla', + 'field.select_all.message' => 'Bu rol üçin ähli ygtyýarlar açylýar/ýapylýar', + + /* + |-------------------------------------------------------------------------- + | Navigation & Resource + |-------------------------------------------------------------------------- + */ + + 'nav.group' => 'Filament Shield', + 'nav.role.label' => 'Rollar', + 'nav.role.icon' => 'heroicon-o-shield-check', + 'resource.label.role' => 'Rol', + 'resource.label.roles' => 'Rollar', + + /* + |-------------------------------------------------------------------------- + | Section & Tabs + |-------------------------------------------------------------------------- + */ + + 'section' => 'Obýektler', + 'resources' => 'Resurslar', + 'widgets' => 'Widjetler', + 'pages' => 'Sahypalar', + 'custom' => 'Aýratyn ygtyýarlar', + + /* + |-------------------------------------------------------------------------- + | Messages + |-------------------------------------------------------------------------- + */ + + 'forbidden' => 'Girmek üçin ygtyýaryňyz ýok', + + /* + |-------------------------------------------------------------------------- + | Resource Permissions' Labels + |-------------------------------------------------------------------------- + */ + + 'resource_permission_prefixes_labels' => [ + 'view' => 'Gör', + 'view_any' => 'Islendik gör', + 'create' => 'Döret', + 'update' => 'Täzele', + 'delete' => 'Poz', + 'delete_any' => 'Islendik poz', + 'force_delete' => 'Görkezmesiz poz', + 'force_delete_any' => 'Islendik görkezmesiz poz', + 'restore' => 'Dikelt', + 'reorder' => 'Saýla', + 'restore_any' => 'Islendik dikelt', + 'replicate' => 'Köpelt', + ], +]; diff --git a/lang/vendor/filament-tables/tk/table.php b/lang/vendor/filament-tables/tk/table.php new file mode 100644 index 0000000..d219a51 --- /dev/null +++ b/lang/vendor/filament-tables/tk/table.php @@ -0,0 +1,292 @@ + [ + + 'heading' => 'Sütünler', + + 'actions' => [ + + 'apply' => [ + 'label' => 'Sütünleri ulany', + ], + + 'reorder' => [ + 'label' => 'Sütüni saýla', + ], + + 'reset' => [ + 'label' => 'Täzeden', + ], + + ], + + ], + + 'columns' => [ + + 'actions' => [ + 'label' => 'Hereket|Hereketler', + ], + + 'icon' => [ + + 'boolean' => [ + 'true' => 'Hawa', + 'false' => 'Ýok', + ], + + ], + + 'select' => [ + + 'loading_message' => 'Ýüklenýär...', + + 'no_options_message' => 'Saýlaw ýok.', + + 'no_search_results_message' => 'Gözlegiňize laýyk saýlaw tapylmady.', + + 'placeholder' => 'Saýlaw saýla', + + 'searching_message' => 'Gözleg...', + + 'search_prompt' => 'Gözleg etmek üçin ýazyň...', + + ], + + 'text' => [ + + 'actions' => [ + 'collapse_list' => ':count az görkez', + 'expand_list' => ':count köp görkez', + ], + + 'more_list_items' => 'we ýene :count', + + ], + + ], + + 'fields' => [ + + 'bulk_select_page' => [ + 'label' => 'Topar hereketleri üçin ähli elementleri saýla/aýyr.', + ], + + 'bulk_select_record' => [ + 'label' => 'Topar hereketleri üçin :key elementini saýla/aýyr.', + ], + + 'bulk_select_group' => [ + 'label' => 'Topar hereketleri üçin :title toparyny saýla/aýyr.', + ], + + 'search' => [ + 'label' => 'Gözleg', + 'placeholder' => 'Gözleg', + 'indicator' => 'Gözleg', + ], + + ], + + 'summary' => [ + + 'heading' => 'Jemleme', + + 'subheadings' => [ + 'all' => 'Ähli :label', + 'group' => ':group jemlemesi', + 'page' => 'Bu sahypa', + ], + + 'summarizers' => [ + + 'average' => [ + 'label' => 'Ortaça', + ], + + 'count' => [ + 'label' => 'Sany', + ], + + 'sum' => [ + 'label' => 'Jemi', + ], + + ], + + ], + + 'actions' => [ + + 'disable_reordering' => [ + 'label' => 'Ýazgylary saýlamagy tamamla', + ], + + 'enable_reordering' => [ + 'label' => 'Ýazgylary saýla', + ], + + 'reorder_record' => [ + 'label' => ':key elementini saýla', + ], + + 'filter' => [ + 'label' => 'Filtr', + ], + + 'group' => [ + 'label' => 'Topar', + ], + + 'open_bulk_actions' => [ + 'label' => 'Topar hereketleri', + ], + + 'column_manager' => [ + 'label' => 'Sütün dolandyryjy', + ], + + 'toggle_record_content' => [ + 'label' => ':key elementini giňelt/ýygna', + ], + + ], + + 'empty' => [ + + 'heading' => ':model ýok', + + 'description' => 'Başlamak üçin :model döret.', + + ], + + 'filters' => [ + + 'actions' => [ + + 'apply' => [ + 'label' => 'Filtrleri ulany', + ], + + 'remove' => [ + 'label' => 'Filtr aýyr', + ], + + 'remove_all' => [ + 'label' => 'Ähli filtrleri aýyr', + 'tooltip' => 'Ähli filtrleri aýyr', + ], + + 'reset' => [ + 'label' => 'Täzeden', + ], + + ], + + 'heading' => 'Filtrler', + + 'indicator' => 'Işjeň filtrler', + + 'multi_select' => [ + 'placeholder' => 'Ähli', + ], + + 'select' => [ + + 'placeholder' => 'Ähli', + + 'relationship' => [ + 'empty_option_label' => 'Ýok', + ], + + ], + + 'trashed' => [ + + 'label' => 'Pozulan ýazgylar', + + 'only_trashed' => 'Diňe pozulan ýazgylar', + + 'with_trashed' => 'Pozulan ýazgylar bilen', + + 'without_trashed' => 'Pozulan ýazgylarsyz', + + ], + + ], + + 'grouping' => [ + + 'fields' => [ + + 'group' => [ + 'label' => 'Topar boýunça', + ], + + 'direction' => [ + + 'label' => 'Topar ugry', + + 'options' => [ + 'asc' => 'Artýan', + 'desc' => 'Kemelýän', + ], + + ], + + ], + + ], + + 'loading' => 'Ýüklenýär...', + + 'reorder_indicator' => 'Ýazgylary saýlamak üçin süýräp taşlaň.', + + 'result_count' => '{0} Netije ýok|{1} :count netije|[2,*] :count netije', + + 'selection_indicator' => [ + + 'selected_count' => '1 ýazgy saýlandy|:count ýazgy saýlandy', + + 'actions' => [ + + 'select_all' => [ + 'label' => 'Hemmesini saýla :count', + ], + + 'deselect_all' => [ + 'label' => 'Hemmesini aýyr', + ], + + ], + + ], + + 'sorting' => [ + + 'fields' => [ + + 'column' => [ + 'label' => 'Tertiple', + ], + + 'direction' => [ + + 'label' => 'Tertip ugry', + + 'options' => [ + 'asc' => 'Artýan', + 'desc' => 'Kemelýän', + ], + + ], + + ], + + ], + + 'default_model_label' => 'ýazgy', + +]; diff --git a/lang/vendor/filament-widgets/tk/chart.php b/lang/vendor/filament-widgets/tk/chart.php new file mode 100644 index 0000000..28b96cb --- /dev/null +++ b/lang/vendor/filament-widgets/tk/chart.php @@ -0,0 +1,37 @@ + [ + + 'filter' => [ + 'label' => 'Filtr', + ], + + ], + + 'filter' => [ + 'label' => 'Diagramma maglumatyny filtrle', + ], + + 'filters' => [ + + 'actions' => [ + + 'apply' => [ + 'label' => 'Ulany', + ], + + 'reset' => [ + 'label' => 'Täzeden', + ], + + ], + + ], + + 'empty' => [ + 'heading' => 'Görkezmek üçin maglumat ýok', + ], + +]; diff --git a/tests/Feature/LocalizationTest.php b/tests/Feature/LocalizationTest.php index bf82a7d..78b3ff3 100644 --- a/tests/Feature/LocalizationTest.php +++ b/tests/Feature/LocalizationTest.php @@ -5,6 +5,7 @@ declare(strict_types=1); use App\Enums\Gender; use App\Enums\NavigationGroup; use App\Filament\Resources\ActivityLogs\ActivityLogResource; +use App\Filament\Resources\Departments\DepartmentResource; use App\Models\User; use BezhanSalleh\LanguageSwitch\Events\LocaleChanged; use Illuminate\Support\Facades\App; @@ -44,6 +45,26 @@ it('returns translated filament resource navigation labels', function (): void { expect(ActivityLogResource::getNavigationLabel())->toBe('Журнал аудита'); }); +it('returns translated filament resource model labels', function (): void { + App::setLocale('tk'); + + expect(DepartmentResource::getPluralModelLabel())->toBe('Bölümler'); + expect(DepartmentResource::getModelLabel())->toBe('Bölüm'); + + App::setLocale('ru'); + + expect(DepartmentResource::getPluralModelLabel())->toBe('Отделы'); + expect(DepartmentResource::getModelLabel())->toBe('Отдел'); +}); + +it('returns translated filament panel strings for turkmen locale', function (): void { + App::setLocale('tk'); + + expect(__('filament-panels::global-search.field.placeholder'))->toBe('Gözleg'); + expect(__('filament-panels::resources/pages/list-records.breadcrumb'))->toBe('Sanaw'); + expect(__('filament-actions::create.single.label', ['label' => 'Bölüm']))->toBe('Döret'); +}); + it('persists locale when locale changed event fires', function (): void { $user = User::factory()->create(['locale' => 'en']); diff --git a/tests/Feature/Models/DepartmentTest.php b/tests/Feature/Models/DepartmentTest.php new file mode 100644 index 0000000..9564d86 --- /dev/null +++ b/tests/Feature/Models/DepartmentTest.php @@ -0,0 +1,44 @@ +toBe('HUMAN-RESOURCES'); +}); + +it('generates code on save when code is blank', function (): void { + $department = Department::factory()->create([ + 'name' => 'Human Resources', + 'code' => '', + ]); + + expect($department->code)->toBe('HUMAN-RESOURCES'); +}); + +it('does not overwrite an existing code on update', function (): void { + $department = Department::factory()->create([ + 'name' => 'Human Resources', + 'code' => 'HR', + ]); + + $department->update(['name' => 'People Operations']); + + expect($department->fresh()->code)->toBe('HR'); +}); + +it('appends a suffix when the generated code already exists', function (): void { + Department::factory()->create([ + 'name' => 'Sales Team', + 'code' => 'SALES', + ]); + + $department = Department::factory()->create([ + 'name' => 'Sales', + 'code' => '', + ]); + + expect($department->code)->toBe('SALES-1'); +});