Looking to hire Laravel developers? Try LaraJobs

laravel-enhance-enums maintained by a-sabagh

Description
A lightweight Laravel package that adds a reusable Translatable trait for handling model translations with clean, consistent syntax.
Author
Last update
2025/10/02 15:08 (dev-main)
Links
Downloads
156

Comments
comments powered by Disqus

Laravel Enhance Enums

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 "پیش نویس"