diff --git a/.env.example b/.env.example index 35db1dd..fba5d94 100644 --- a/.env.example +++ b/.env.example @@ -63,3 +63,6 @@ AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false VITE_APP_NAME="${APP_NAME}" + +ACTIVITY_LOGGER_ENABLED=true +ACTIVITY_LOGGER_TABLE_NAME=activity_log diff --git a/app/Models/User.php b/app/Models/User.php index a56996b..39154b3 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -2,7 +2,7 @@ namespace App\Models; -// use Illuminate\Contracts\Auth\MustVerifyEmail; +use Illuminate\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -12,7 +12,7 @@ use Laravel\Fortify\TwoFactorAuthenticatable; class User extends Authenticatable { /** @use HasFactory<\Database\Factories\UserFactory> */ - use HasFactory, Notifiable, TwoFactorAuthenticatable; + use HasFactory, Notifiable, TwoFactorAuthenticatable, MustVerifyEmail; /** * The attributes that are mass assignable. diff --git a/app/Providers/Filament/DashPanelProvider.php b/app/Providers/Filament/DashPanelProvider.php index e4a83cb..528a2ae 100644 --- a/app/Providers/Filament/DashPanelProvider.php +++ b/app/Providers/Filament/DashPanelProvider.php @@ -18,6 +18,7 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; use Illuminate\Routing\Middleware\SubstituteBindings; use Illuminate\Session\Middleware\StartSession; use Illuminate\View\Middleware\ShareErrorsFromSession; +use Jacobtims\FilamentLogger\FilamentLoggerPlugin; class DashPanelProvider extends PanelProvider { @@ -54,6 +55,9 @@ class DashPanelProvider extends PanelProvider ]) ->authMiddleware([ Authenticate::class, + ]) + ->plugins([ + FilamentLoggerPlugin::make(), ]); } } diff --git a/composer.json b/composer.json index 70605e5..bd529f7 100644 --- a/composer.json +++ b/composer.json @@ -8,11 +8,13 @@ "require": { "php": "^8.2", "filament/filament": "~4.0", + "jacobtims/filament-logger": "^1.0", "laravel/fortify": "^1.30", "laravel/framework": "^12.0", "laravel/tinker": "^2.10.1", "livewire/flux": "^2.1.1", - "livewire/volt": "^1.7.0" + "livewire/volt": "^1.7.0", + "spatie/laravel-activitylog": "^4.10" }, "require-dev": { "fakerphp/faker": "^1.23", diff --git a/composer.lock b/composer.lock index 67bda1d..7682ba4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6d54ea703c0b48d1ffe861ea7a1aaa9d", + "content-hash": "00c3c015290da6a691c269b7088d3ec3", "packages": [ { "name": "anourvalar/eloquent-serialize", @@ -2077,6 +2077,86 @@ ], "time": "2025-08-22T14:27:06+00:00" }, + { + "name": "jacobtims/filament-logger", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/Jacobtims/filament-logger.git", + "reference": "89797b630ac4895cb2eac56a4029b870f9022731" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jacobtims/filament-logger/zipball/89797b630ac4895cb2eac56a4029b870f9022731", + "reference": "89797b630ac4895cb2eac56a4029b870f9022731", + "shasum": "" + }, + "require": { + "filament/filament": "^4.0", + "illuminate/contracts": "^11.0 | ^12.0", + "laravel/pint": "^1.0", + "php": "^8.2", + "spatie/laravel-activitylog": "^4.5", + "spatie/laravel-package-tools": "^1.13.5" + }, + "require-dev": { + "larastan/larastan": "^3.0", + "nunomaduro/collision": "^8.1", + "orchestra/testbench": "^9.0 | ^10.0", + "pestphp/pest": "^2.34 | ^3.7", + "pestphp/pest-plugin-laravel": "^2.3 | ^3.1", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^11.5.3", + "spatie/laravel-ray": "^1.26" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "FilamentLogger": "Jacobtims\\FilamentLogger\\Facades\\FilamentLogger" + }, + "providers": [ + "Jacobtims\\FilamentLogger\\FilamentLoggerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Jacobtims\\FilamentLogger\\": "src", + "Jacobtims\\FilamentLogger\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ziyaan Hassan", + "email": "ziyaan2010@gmail.com", + "role": "Developer" + }, + { + "name": "Jacobtims", + "email": "jacobtimmer04@gmail.com", + "role": "Developer" + } + ], + "description": "Activity logger for filament", + "homepage": "https://github.com/jacobtims/filament-logger", + "keywords": [ + "Jacobtims", + "Z3d0X", + "filament-logger", + "laravel" + ], + "support": { + "source": "https://github.com/Jacobtims/filament-logger/tree/v1.0.0" + }, + "time": "2025-08-20T07:24:12+00:00" + }, { "name": "kirschbaum-development/eloquent-power-joins", "version": "4.2.8", @@ -2425,6 +2505,72 @@ }, "time": "2025-09-23T15:33:04+00:00" }, + { + "name": "laravel/pint", + "version": "v1.25.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/5016e263f95d97670d71b9a987bd8996ade6d8d9", + "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.87.2", + "illuminate/view": "^11.46.0", + "larastan/larastan": "^3.7.1", + "laravel-zero/framework": "^11.45.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.3.1", + "pestphp/pest": "^2.36.0" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2025-09-19T02:57:12+00:00" + }, { "name": "laravel/prompts", "version": "v0.3.7", @@ -5522,6 +5668,97 @@ ], "time": "2024-05-17T09:06:10+00:00" }, + { + "name": "spatie/laravel-activitylog", + "version": "4.10.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-activitylog.git", + "reference": "bb879775d487438ed9a99e64f09086b608990c10" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/bb879775d487438ed9a99e64f09086b608990c10", + "reference": "bb879775d487438ed9a99e64f09086b608990c10", + "shasum": "" + }, + "require": { + "illuminate/config": "^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", + "illuminate/database": "^8.69 || ^9.27 || ^10.0 || ^11.0 || ^12.0", + "illuminate/support": "^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.6.3" + }, + "require-dev": { + "ext-json": "*", + "orchestra/testbench": "^6.23 || ^7.0 || ^8.0 || ^9.0 || ^10.0", + "pestphp/pest": "^1.20 || ^2.0 || ^3.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Activitylog\\ActivitylogServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\Activitylog\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Sebastian De Deyne", + "email": "sebastian@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Tom Witkowski", + "email": "dev.gummibeer@gmail.com", + "homepage": "https://gummibeer.de", + "role": "Developer" + } + ], + "description": "A very simple activity logger to monitor the users of your website or application", + "homepage": "https://github.com/spatie/activitylog", + "keywords": [ + "activity", + "laravel", + "log", + "spatie", + "user" + ], + "support": { + "issues": "https://github.com/spatie/laravel-activitylog/issues", + "source": "https://github.com/spatie/laravel-activitylog/tree/4.10.2" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-06-15T06:59:49+00:00" + }, { "name": "spatie/laravel-package-tools", "version": "1.92.7", @@ -9066,72 +9303,6 @@ }, "time": "2025-06-05T13:55:57+00:00" }, - { - "name": "laravel/pint", - "version": "v1.25.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/5016e263f95d97670d71b9a987bd8996ade6d8d9", - "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.2.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.87.2", - "illuminate/view": "^11.46.0", - "larastan/larastan": "^3.7.1", - "laravel-zero/framework": "^11.45.0", - "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.3.1", - "pestphp/pest": "^2.36.0" - }, - "bin": [ - "builds/pint" - ], - "type": "project", - "autoload": { - "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", - "keywords": [ - "format", - "formatter", - "lint", - "linter", - "php" - ], - "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" - }, - "time": "2025-09-19T02:57:12+00:00" - }, { "name": "laravel/sail", "version": "v1.46.0", diff --git a/config/activitylog.php b/config/activitylog.php new file mode 100644 index 0000000..f1262f5 --- /dev/null +++ b/config/activitylog.php @@ -0,0 +1,52 @@ + env('ACTIVITY_LOGGER_ENABLED', true), + + /* + * When the clean-command is executed, all recording activities older than + * the number of days specified here will be deleted. + */ + 'delete_records_older_than_days' => 365, + + /* + * If no log name is passed to the activity() helper + * we use this default log name. + */ + 'default_log_name' => 'default', + + /* + * You can specify an auth driver here that gets user models. + * If this is null we'll use the current Laravel auth driver. + */ + 'default_auth_driver' => null, + + /* + * If set to true, the subject returns soft deleted models. + */ + 'subject_returns_soft_deleted_models' => false, + + /* + * This model will be used to log activity. + * It should implement the Spatie\Activitylog\Contracts\Activity interface + * and extend Illuminate\Database\Eloquent\Model. + */ + 'activity_model' => \Spatie\Activitylog\Models\Activity::class, + + /* + * This is the name of the table that will be created by the migration and + * used by the Activity model shipped with this package. + */ + 'table_name' => env('ACTIVITY_LOGGER_TABLE_NAME', 'activity_log'), + + /* + * This is the database connection that will be used by the migration and + * the Activity model shipped with this package. In case it's not set + * Laravel's database.default will be used instead. + */ + 'database_connection' => env('ACTIVITY_LOGGER_DB_CONNECTION'), +]; diff --git a/config/filament-logger.php b/config/filament-logger.php new file mode 100644 index 0000000..40fe670 --- /dev/null +++ b/config/filament-logger.php @@ -0,0 +1,54 @@ + 'd/m/Y H:i:s', + 'date_format' => 'd/m/Y', + + 'activity_resource' => \Jacobtims\FilamentLogger\Resources\ActivityResource::class, + 'scoped_to_tenant' => true, + 'navigation_sort' => null, + + 'resources' => [ + 'enabled' => true, + 'log_name' => 'Resource', + 'logger' => \Jacobtims\FilamentLogger\Loggers\ResourceLogger::class, + 'color' => 'success', + + 'exclude' => [ + // App\Filament\Resources\UserResource::class, + ], + 'cluster' => null, + 'navigation_group' => 'Settings', + ], + + 'access' => [ + 'enabled' => true, + 'logger' => \Jacobtims\FilamentLogger\Loggers\AccessLogger::class, + 'color' => 'danger', + 'log_name' => 'Access', + ], + + 'notifications' => [ + 'enabled' => true, + 'logger' => \Jacobtims\FilamentLogger\Loggers\NotificationLogger::class, + 'color' => null, + 'log_name' => 'Notification', + ], + + 'models' => [ + 'enabled' => true, + 'log_name' => 'Model', + 'color' => 'warning', + 'logger' => \Jacobtims\FilamentLogger\Loggers\ModelLogger::class, + 'register' => [ + // App\Models\User::class, + ], + ], + + 'custom' => [ + // [ + // 'log_name' => 'Custom', + // 'color' => 'primary', + // ] + ], +]; diff --git a/database/migrations/2025_09_28_144449_create_activity_log_table.php b/database/migrations/2025_09_28_144449_create_activity_log_table.php new file mode 100644 index 0000000..7c05bc8 --- /dev/null +++ b/database/migrations/2025_09_28_144449_create_activity_log_table.php @@ -0,0 +1,27 @@ +create(config('activitylog.table_name'), function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('log_name')->nullable(); + $table->text('description'); + $table->nullableMorphs('subject', 'subject'); + $table->nullableMorphs('causer', 'causer'); + $table->json('properties')->nullable(); + $table->timestamps(); + $table->index('log_name'); + }); + } + + public function down() + { + Schema::connection(config('activitylog.database_connection'))->dropIfExists(config('activitylog.table_name')); + } +} diff --git a/database/migrations/2025_09_28_144450_add_event_column_to_activity_log_table.php b/database/migrations/2025_09_28_144450_add_event_column_to_activity_log_table.php new file mode 100644 index 0000000..7b797fd --- /dev/null +++ b/database/migrations/2025_09_28_144450_add_event_column_to_activity_log_table.php @@ -0,0 +1,22 @@ +table(config('activitylog.table_name'), function (Blueprint $table) { + $table->string('event')->nullable()->after('subject_type'); + }); + } + + public function down() + { + Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) { + $table->dropColumn('event'); + }); + } +} diff --git a/database/migrations/2025_09_28_144451_add_batch_uuid_column_to_activity_log_table.php b/database/migrations/2025_09_28_144451_add_batch_uuid_column_to_activity_log_table.php new file mode 100644 index 0000000..8f7db66 --- /dev/null +++ b/database/migrations/2025_09_28_144451_add_batch_uuid_column_to_activity_log_table.php @@ -0,0 +1,22 @@ +table(config('activitylog.table_name'), function (Blueprint $table) { + $table->uuid('batch_uuid')->nullable()->after('properties'); + }); + } + + public function down() + { + Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) { + $table->dropColumn('batch_uuid'); + }); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index d01a0ef..44dc407 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -2,12 +2,12 @@ namespace Database\Seeders; -use App\Models\User; -// use Illuminate\Database\Console\Seeds\WithoutModelEvents; +use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { + use WithoutModelEvents; /** * Seed the application's database. */ @@ -15,9 +15,8 @@ class DatabaseSeeder extends Seeder { // User::factory(10)->create(); - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', + $this->call([ + FilamentAdminSeeder::class, ]); } } diff --git a/database/seeders/FilamentAdminSeeder.php b/database/seeders/FilamentAdminSeeder.php new file mode 100644 index 0000000..b998905 --- /dev/null +++ b/database/seeders/FilamentAdminSeeder.php @@ -0,0 +1,24 @@ +create([ + 'name' => 'Admin', + 'email' => 'admin@example.com', + 'password' => Hash::make('password'), + 'email_verified_at' => now(), + ]); + } +} diff --git a/lang/vendor/filament-logger/ar/filament-logger.php b/lang/vendor/filament-logger/ar/filament-logger.php new file mode 100644 index 0000000..00bbeb3 --- /dev/null +++ b/lang/vendor/filament-logger/ar/filament-logger.php @@ -0,0 +1,28 @@ + 'إعدادات', + 'nav.log.label' => 'سجل النشاطات', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'سجل النشاط', + 'resource.label.logs' => 'سجل النشاطات', + 'resource.label.user' => 'المستخدم', + 'resource.label.subject' => 'الموضوع', + 'resource.label.subject_type' => 'نوع الموضوع', + 'resource.label.description' => 'الوصف', + 'resource.label.type' => 'النوع', + 'resource.label.event' => 'الحدث', + 'resource.label.logged_at' => 'مسجل في', + 'resource.label.properties' => 'خصائص', + 'resource.label.old' => 'قديم', + 'resource.label.new' => 'جديد', + 'resource.label.old_value' => 'قيمة قديمة', + 'resource.label.new_value' => 'قيمة جديدة', +]; diff --git a/lang/vendor/filament-logger/cs/filament-logger.php b/lang/vendor/filament-logger/cs/filament-logger.php new file mode 100644 index 0000000..5ad54c2 --- /dev/null +++ b/lang/vendor/filament-logger/cs/filament-logger.php @@ -0,0 +1,31 @@ + 'Nastavení', + 'nav.log.label' => 'Záznam aktivit', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Záznam aktivit', + 'resource.label.logs' => 'Záznamy aktivit', + 'resource.label.user' => 'Uživatel', + 'resource.label.subject' => 'Subjekt', + 'resource.label.subject_type' => 'Typ subjektu', + 'resource.label.description' => 'Popis', + 'resource.label.type' => 'Typ', + 'resource.label.event' => 'Událost', + 'resource.label.logged_at' => 'Zaznamenáno v', + 'resource.label.properties' => 'Vlastnosti', + 'resource.label.old' => 'Původní', + 'resource.label.new' => 'Nové', + 'resource.label.old_value' => 'Původní hodnota', + 'resource.label.new_value' => 'Nová hodnota', + 'resource.label.properties_hint' => 'Může být klíč nebo hodnota', + 'resource.label.old_attributes' => 'Původní atribut nebo hodnota: ', + 'resource.label.new_attributes' => 'Nový atribut nebo hodnota: ', +]; diff --git a/lang/vendor/filament-logger/de/filament-logger.php b/lang/vendor/filament-logger/de/filament-logger.php new file mode 100644 index 0000000..4c13194 --- /dev/null +++ b/lang/vendor/filament-logger/de/filament-logger.php @@ -0,0 +1,25 @@ + 'Settings', + 'nav.log.label' => 'Activity Log', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Aktivitätslog', + 'resource.label.logs' => 'Aktivitätslog', + 'resource.label.user' => 'Nutzer', + 'resource.label.subject' => 'Thema', + 'resource.label.subject_type' => 'Thematyp', + 'resource.label.description' => 'Beschreibung', + 'resource.label.type' => 'Typ', + 'resource.label.event' => 'Event', + 'resource.label.logged_at' => 'Protokolliert am', + 'resource.label.properties' => 'Eigenschaften', + 'resource.label.old' => 'Alt', + 'resource.label.new' => 'Neu', +]; diff --git a/lang/vendor/filament-logger/en/filament-logger.php b/lang/vendor/filament-logger/en/filament-logger.php new file mode 100644 index 0000000..01c2f0d --- /dev/null +++ b/lang/vendor/filament-logger/en/filament-logger.php @@ -0,0 +1,31 @@ + 'Settings', + 'nav.log.label' => 'Activity Log', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Activity log', + 'resource.label.logs' => 'Activity logs', + 'resource.label.user' => 'User', + 'resource.label.subject' => 'Subject', + 'resource.label.subject_type' => 'Subject type', + 'resource.label.description' => 'Description', + 'resource.label.type' => 'Type', + 'resource.label.event' => 'Event', + 'resource.label.logged_at' => 'Logged At', + 'resource.label.properties' => 'Properties', + 'resource.label.old' => 'Old', + 'resource.label.new' => 'New', + 'resource.label.old_value' => 'Old Value', + 'resource.label.new_value' => 'New Value', + 'resource.label.properties_hint' => 'Can be key or value', + 'resource.label.old_attributes' => 'Old Attribute or Value: ', + 'resource.label.new_attributes' => 'New Attribute or Value: ', +]; diff --git a/lang/vendor/filament-logger/es/filament-logger.php b/lang/vendor/filament-logger/es/filament-logger.php new file mode 100644 index 0000000..16e8ef2 --- /dev/null +++ b/lang/vendor/filament-logger/es/filament-logger.php @@ -0,0 +1,25 @@ + 'Settings', + 'nav.log.label' => 'Bitácora de actividad', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Registro de actividad', + 'resource.label.logs' => 'Registros de actividad', + 'resource.label.user' => 'Usuario', + 'resource.label.subject' => 'Asunto', + 'resource.label.subject_type' => 'Tipo de asunto', + 'resource.label.description' => 'Descripción', + 'resource.label.type' => 'Tipo', + 'resource.label.event' => 'Evento', + 'resource.label.logged_at' => 'Registrado el', + 'resource.label.properties' => 'Propiedades', + +]; diff --git a/lang/vendor/filament-logger/fa/filament-logger.php b/lang/vendor/filament-logger/fa/filament-logger.php new file mode 100644 index 0000000..b2f5b97 --- /dev/null +++ b/lang/vendor/filament-logger/fa/filament-logger.php @@ -0,0 +1,31 @@ + 'تنظیمات', + 'nav.log.label' => 'لاگ فعالیت ها', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'لاگ فعالیت', + 'resource.label.logs' => 'لاگ فعالیت ها', + 'resource.label.user' => 'کاربر', + 'resource.label.subject' => 'موضوع', + 'resource.label.subject_type' => 'نوع موضوع', + 'resource.label.description' => 'شرح', + 'resource.label.type' => 'نوع', + 'resource.label.event' => 'رویداد', + 'resource.label.logged_at' => 'لاگ شده در', + 'resource.label.properties' => 'خصوصیات', + 'resource.label.old' => 'قدیمی', + 'resource.label.new' => 'جدید', + 'resource.label.old_value' => 'مقدار قدیمی', + 'resource.label.new_value' => 'مقدار جدید', + 'resource.label.properties_hint' => 'می‌تواند کلید یا مقدار باشد', + 'resource.label.old_attributes' => 'کلید یا مقدار قدیمی: ', + 'resource.label.new_attributes' => 'کلید یا مقدار جدید: ', +]; diff --git a/lang/vendor/filament-logger/fr/filament-logger.php b/lang/vendor/filament-logger/fr/filament-logger.php new file mode 100644 index 0000000..b7c4d64 --- /dev/null +++ b/lang/vendor/filament-logger/fr/filament-logger.php @@ -0,0 +1,25 @@ + 'Paramètres', + 'nav.log.label' => 'Journal d\'activités', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Journal d\'activité', + 'resource.label.logs' => 'Journal d\'activités', + 'resource.label.user' => 'Utilisateur', + 'resource.label.subject' => 'Sujet', + 'resource.label.subject_type' => 'Type de sujet', + 'resource.label.description' => 'Description', + 'resource.label.type' => 'Type', + 'resource.label.event' => 'Événement', + 'resource.label.logged_at' => 'Enregistré à', + 'resource.label.properties' => 'Propriétés', + +]; diff --git a/lang/vendor/filament-logger/hy/filament-logger.php b/lang/vendor/filament-logger/hy/filament-logger.php new file mode 100644 index 0000000..d136066 --- /dev/null +++ b/lang/vendor/filament-logger/hy/filament-logger.php @@ -0,0 +1,31 @@ + 'Կարգավորումներ', + 'nav.log.label' => 'Գործողությունների մատյան', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Գործողությունների մատյան', + 'resource.label.logs' => 'Գործողությունների մատյաններ', + 'resource.label.user' => 'Օգտագործող', + 'resource.label.subject' => 'Սուբյեկտ', + 'resource.label.subject_type' => 'Սուբյեկտի տեսակ', + 'resource.label.description' => 'Նկարագրություն', + 'resource.label.type' => 'Տեսակ', + 'resource.label.event' => 'Իրադարձություն', + 'resource.label.logged_at' => 'Գրանցման ամսաթիվ', + 'resource.label.properties' => 'Հատկություններ', + 'resource.label.old' => 'Հին', + 'resource.label.new' => 'Նոր', + 'resource.label.old_value' => 'Հին արժեք', + 'resource.label.new_value' => 'Նոր արժեք', + 'resource.label.properties_hint' => 'Կարող է լինել բանալի կամ արժեք', + 'resource.label.old_attributes' => 'Հին հատկանիշ կամ արժեք՝', + 'resource.label.new_attributes' => 'Նոր հատկանիշ կամ արժեք՝', +]; diff --git a/lang/vendor/filament-logger/id/filament-logger.php b/lang/vendor/filament-logger/id/filament-logger.php new file mode 100644 index 0000000..8315cc7 --- /dev/null +++ b/lang/vendor/filament-logger/id/filament-logger.php @@ -0,0 +1,28 @@ + 'Pengaturan', + 'nav.log.label' => 'Catatan Aktivitas', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Catatan aktivitas', + 'resource.label.logs' => 'Catatan aktivitas', + 'resource.label.user' => 'Pengguna', + 'resource.label.subject' => 'Subjek', + 'resource.label.subject_type' => 'Tipe Subjek', + 'resource.label.description' => 'Deskripsi', + 'resource.label.type' => 'Jenis', + 'resource.label.event' => 'Kegiatan', + 'resource.label.logged_at' => 'Tercatat pada', + 'resource.label.properties' => 'Properti', + 'resource.label.old' => 'Lama', + 'resource.label.new' => 'Baru', + 'resource.label.old_value' => 'Nilai Lama', + 'resource.label.new_value' => 'Nilai Baru', +]; diff --git a/lang/vendor/filament-logger/it/filament-logger.php b/lang/vendor/filament-logger/it/filament-logger.php new file mode 100644 index 0000000..a6f5711 --- /dev/null +++ b/lang/vendor/filament-logger/it/filament-logger.php @@ -0,0 +1,28 @@ + 'Impostazioni', + 'nav.log.label' => 'Registro attività', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Log', + 'resource.label.logs' => 'Log', + 'resource.label.user' => 'User', + 'resource.label.subject' => 'Soggetto', + 'resource.label.subject_type' => 'Tipo di soggetto', + 'resource.label.description' => 'Descrizione', + 'resource.label.type' => 'Tipologia', + 'resource.label.event' => 'Evento', + 'resource.label.logged_at' => 'Registrato Il', + 'resource.label.properties' => 'Proprietà', + 'resource.label.old' => 'Prima', + 'resource.label.new' => 'Ora', + 'resource.label.old_value' => 'Valore Precedente', + 'resource.label.new_value' => 'Nuovo Valore', +]; diff --git a/lang/vendor/filament-logger/ka/filament-logger.php b/lang/vendor/filament-logger/ka/filament-logger.php new file mode 100644 index 0000000..3ea6fec --- /dev/null +++ b/lang/vendor/filament-logger/ka/filament-logger.php @@ -0,0 +1,28 @@ + 'პარამეტრები', + 'nav.log.label' => 'საქმიანობის ჟურნალი', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'საქმიანობის ჟურნალი', + 'resource.label.logs' => 'საქმიანობის ჟურნალი', + 'resource.label.user' => 'მომხმარებელი', + 'resource.label.subject' => 'საგანი', + 'resource.label.subject_type' => 'საგნის ტიპი', + 'resource.label.description' => 'აღწერილობა', + 'resource.label.type' => 'ტიპი', + 'resource.label.event' => 'ქმედება', + 'resource.label.logged_at' => 'ავტორიზირებული როგორც', + 'resource.label.properties' => 'Თვისებები', + 'resource.label.old' => 'ძველი', + 'resource.label.new' => 'ახალი', + 'resource.label.old_value' => 'ძველი მნიშვნელობა', + 'resource.label.new_value' => 'ახალი მნიშვნელობა', +]; diff --git a/lang/vendor/filament-logger/ko/filament-logger.php b/lang/vendor/filament-logger/ko/filament-logger.php new file mode 100644 index 0000000..879a1bb --- /dev/null +++ b/lang/vendor/filament-logger/ko/filament-logger.php @@ -0,0 +1,31 @@ + '설정', + 'nav.log.label' => '활동 로그', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => '활동 로그', + 'resource.label.logs' => '활동 로그', + 'resource.label.user' => '사용자', + 'resource.label.subject' => '주제', + 'resource.label.subject_type' => '주제 유형', + 'resource.label.description' => '설명', + 'resource.label.type' => '유형', + 'resource.label.event' => '이벤트', + 'resource.label.logged_at' => '기록된 시간', + 'resource.label.properties' => '속성', + 'resource.label.old' => '이전', + 'resource.label.new' => '새로운', + 'resource.label.old_value' => '이전 값', + 'resource.label.new_value' => '새로운 값', + 'resource.label.properties_hint' => '키 또는 값이 될 수 있습니다', + 'resource.label.old_attributes' => '이전 속성 또는 값: ', + 'resource.label.new_attributes' => '새로운 속성 또는 값: ', +]; diff --git a/lang/vendor/filament-logger/nl/filament-logger.php b/lang/vendor/filament-logger/nl/filament-logger.php new file mode 100644 index 0000000..518547f --- /dev/null +++ b/lang/vendor/filament-logger/nl/filament-logger.php @@ -0,0 +1,31 @@ + 'Instellingen', + 'nav.log.label' => 'Activiteitenlog', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Activiteiten log', + 'resource.label.logs' => 'Activiteiten logs', + 'resource.label.user' => 'Gebruiker', + 'resource.label.subject' => 'Onderwerp', + 'resource.label.subject_type' => 'Onderwerp type', + 'resource.label.description' => 'Beschrijving', + 'resource.label.type' => 'Type', + 'resource.label.event' => 'Gebeurtenis', + 'resource.label.logged_at' => 'Gelogd op', + 'resource.label.properties' => 'Eigenschappen', + 'resource.label.old' => 'Oud', + 'resource.label.new' => 'Nieuw', + 'resource.label.old_value' => 'Oude waarde', + 'resource.label.new_value' => 'Nieuwe waarde', + 'resource.label.properties_hint' => 'Kan sleutel of waarde zijn', + 'resource.label.old_attributes' => 'Oude attribuut of waarde: ', + 'resource.label.new_attributes' => 'Nieuwe attribuut of waarde: ', +]; diff --git a/lang/vendor/filament-logger/pt_BR/filament-logger.php b/lang/vendor/filament-logger/pt_BR/filament-logger.php new file mode 100644 index 0000000..629e7d3 --- /dev/null +++ b/lang/vendor/filament-logger/pt_BR/filament-logger.php @@ -0,0 +1,31 @@ + 'Configurações', + 'nav.log.label' => 'Registro de atividade', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Registro de atividade', + 'resource.label.logs' => 'Registros de atividade', + 'resource.label.user' => 'Usuário', + 'resource.label.subject' => 'Assunto', + 'resource.label.subject_type' => 'Tipo de assunto', + 'resource.label.description' => 'Descrição', + 'resource.label.type' => 'Tipo', + 'resource.label.event' => 'Evento', + 'resource.label.logged_at' => 'Registrado em', + 'resource.label.properties' => 'Propriedades', + 'resource.label.old' => 'Antigo', + 'resource.label.new' => 'Novo', + 'resource.label.old_value' => 'Valor antigo', + 'resource.label.new_value' => 'Novo valor', + 'resource.label.properties_hint' => 'Pode ser uma chave ou valor', + 'resource.label.old_attributes' => 'Atributo ou Valor Antigo: ', + 'resource.label.new_attributes' => 'Atributo ou Valor Novo: ', +]; diff --git a/lang/vendor/filament-logger/ru/filament-logger.php b/lang/vendor/filament-logger/ru/filament-logger.php new file mode 100644 index 0000000..7bf8e71 --- /dev/null +++ b/lang/vendor/filament-logger/ru/filament-logger.php @@ -0,0 +1,24 @@ + 'Настройки', + 'nav.log.label' => 'Лог действий', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Лога действий', + 'resource.label.logs' => 'Журнал активности', + 'resource.label.user' => 'Юзер', + 'resource.label.subject' => 'Объект', + 'resource.label.subject_type' => 'Тип объекта', + 'resource.label.description' => 'Описание', + 'resource.label.type' => 'Тип', + 'resource.label.event' => 'Событие', + 'resource.label.logged_at' => 'Время', + 'resource.label.properties' => 'Свойства', +]; diff --git a/lang/vendor/filament-logger/sk/filament-logger.php b/lang/vendor/filament-logger/sk/filament-logger.php new file mode 100644 index 0000000..d271a72 --- /dev/null +++ b/lang/vendor/filament-logger/sk/filament-logger.php @@ -0,0 +1,31 @@ + 'Nastavenia', + 'nav.log.label' => 'Záznam aktivity', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Záznam aktivity', + 'resource.label.logs' => 'Záznamy aktivity', + 'resource.label.user' => 'Používateľ', + 'resource.label.subject' => 'Predmet', + 'resource.label.subject_type' => 'Typ predmetu', + 'resource.label.description' => 'Popis', + 'resource.label.type' => 'Typ', + 'resource.label.event' => 'Udalosť', + 'resource.label.logged_at' => 'Zaznamenané', + 'resource.label.properties' => 'Vlastnosti', + 'resource.label.old' => 'Starý', + 'resource.label.new' => 'Nový', + 'resource.label.old_value' => 'Stará hodnota', + 'resource.label.new_value' => 'Nová hodnota', + 'resource.label.properties_hint' => 'Môže byť kľúč alebo hodnota', + 'resource.label.old_attributes' => 'Starý atribút alebo hodnota: ', + 'resource.label.new_attributes' => 'Nový atribút alebo hodnota: ', +]; diff --git a/lang/vendor/filament-logger/tr/filament-logger.php b/lang/vendor/filament-logger/tr/filament-logger.php new file mode 100644 index 0000000..e1fcbe4 --- /dev/null +++ b/lang/vendor/filament-logger/tr/filament-logger.php @@ -0,0 +1,28 @@ + 'Ayarlar', + 'nav.log.label' => 'Aktivite Günlüğü', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Aktivite Günlüğü', + 'resource.label.logs' => 'Aktivite Günlükleri', + 'resource.label.user' => 'Kullanıcı', + 'resource.label.subject' => 'Nesne', + 'resource.label.subject_type' => 'Nesne Tipi', + 'resource.label.description' => 'Açıklama', + 'resource.label.type' => 'Tip', + 'resource.label.event' => 'Olay', + 'resource.label.logged_at' => 'Kayıt Zamanı', + 'resource.label.properties' => 'Değerler', + 'resource.label.old' => 'Eski', + 'resource.label.new' => 'Yeni', + 'resource.label.old_value' => 'Eski Değerler', + 'resource.label.new_value' => 'Yeni Değerler', +]; diff --git a/lang/vendor/filament-logger/uk/filament-logger.php b/lang/vendor/filament-logger/uk/filament-logger.php new file mode 100644 index 0000000..951ea15 --- /dev/null +++ b/lang/vendor/filament-logger/uk/filament-logger.php @@ -0,0 +1,25 @@ + 'Налаштування', + 'nav.log.label' => 'Лог дій', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Лога дій', + 'resource.label.logs' => 'Журнал активності', + 'resource.label.user' => 'Юзер', + 'resource.label.subject' => 'Об\'єкт', + 'resource.label.subject_type' => 'Тип об\'єкта', + 'resource.label.description' => 'Опис', + 'resource.label.type' => 'Тип', + 'resource.label.event' => 'Подія', + 'resource.label.logged_at' => 'Час', + 'resource.label.properties' => 'Властивості', + +]; diff --git a/lang/vendor/filament-logger/vi/filament-logger.php b/lang/vendor/filament-logger/vi/filament-logger.php new file mode 100644 index 0000000..2bf1ea5 --- /dev/null +++ b/lang/vendor/filament-logger/vi/filament-logger.php @@ -0,0 +1,25 @@ + 'Cài đặt', + 'nav.log.label' => 'Nhật ký hoạt động', + 'nav.log.icon' => 'heroicon-o-clipboard-document-list', + 'resource.label.log' => 'Nhật ký hoạt động', + 'resource.label.logs' => 'Nhật ký hoạt động', + 'resource.label.user' => 'Người dùng', + 'resource.label.subject' => 'Chủ đề', + 'resource.label.subject_type' => 'Loại chủ đề', + 'resource.label.description' => 'Mô tả', + 'resource.label.type' => 'Kiểu', + 'resource.label.event' => 'Sự kiện', + 'resource.label.logged_at' => 'Lúc', + 'resource.label.properties' => 'Thuộc tính', + +];