A small Laravel package that adds translation support for PHP 8.1+ Enums.
Require the package via composer:
composer require a-sabagh/laravel-enhance-enums<?php
namespace App\Enums;
use Enhance\Enums\Concerns\Translatable;
enum PostStatus: string
{
use Translatable;
case PUBLISH = 'publish';
case DRAFT = 'draft';
}Create a language file in your package or application:
lang/fa/enums.php<?php
use App\Enums\PostStatus;
return [
PostStatus::class => [
'publish' => 'منتشر شده',
'draft' => 'پیش نویس',
],
];PostStatus::PUBLISH->translate(); // returns "منتشر شده"
PostStatus::DRAFT->translate(); // returns "پیش نویس"