. */ declare(strict_types=1); namespace App\Settings\SystemSettings; use Symfony\Contracts\Translation\TranslatableInterface; use Symfony\Contracts\Translation\TranslatorInterface; use function Symfony\Component\Translation\t; enum HomepageItems: string implements TranslatableInterface { case SEARCH = 'search'; case BANNER = 'banner'; case LICENSE = 'license'; case FIRST_STEPS = 'first_steps'; case LAST_ACTIVITY = 'last_activity'; public function trans(TranslatorInterface $translator, ?string $locale = null): string { $key = match($this) { self::SEARCH => 'search.placeholder', self::BANNER => 'settings.system.customization.banner', self::LICENSE => 'homepage.license', self::FIRST_STEPS => 'homepage.first_steps.title', self::LAST_ACTIVITY => 'homepage.last_activity', }; return $translator->trans($key, locale: $locale); } }