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');
+});