a-sabagh / laravel-enhance-enums
A lightweight Laravel package that adds a reusable Translatable trait for handling model translations with clean, consistent syntax.
Installs: 5
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/a-sabagh/laravel-enhance-enums
Requires
- php: ^8.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- laravel/pint: ^1.24
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- phpunit/phpunit: ^8.0|^9.3|^10.4|^11.5
This package is auto-updated.
Last update: 2025-10-02 13:09:28 UTC
README
A small Laravel package that adds translation support for PHP 8.1+ Enums.
Installation
Require the package via composer:
composer require a-sabagh/laravel-enhance-enums
Usage
1. Create an Enum
<?php namespace App\Enums; use Enhance\Enums\Concerns\Translatable; enum PostStatus: string { use Translatable; case PUBLISH = 'publish'; case DRAFT = 'draft'; }
2. Add Translations
Create a language file in your package or application:
lang/fa/enums.php
<?php use App\Enums\PostStatus; return [ PostStatus::class => [ 'publish' => 'منتشر شده', 'draft' => 'پیش نویس', ], ];
3. Call translate()
PostStatus::PUBLISH->translate(); // returns "منتشر شده" PostStatus::DRAFT->translate(); // returns "پیش نویس"