NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Enums for Laravel

Preklad popisov

readable() vyhľadáva popis upravený cez Str::headline() v prekladači Laravelu, takže práve tento reťazec je prekladovým kľúčom. Pridajte ho do JSON prekladového súboru, napríklad lang/sk.json, a všetky metódy s popismi sa budú riadiť aktívnym jazykom:

{
    "Hot News": "Horúce správy",
    "Regular News": "Bežné správy",
    "Private News": "Súkromné správy"
}
app()->setLocale('sk');

NewsCategory::HotNews->label();            // "Horúce správy"
NewsCategory::labels();                    // ['Horúce správy', 'Bežné správy', 'Súkromné správy']
NewsCategory::toOptions();                 // ['hot-news' => 'Horúce správy', ...]
NewsCategory::fromLabel('Horúce správy');  // NewsCategory::HotNews
NewsCategory::fromLabel('Hot News');       // throws EnumException — the active label is Slovak

fromLabel() a tryFromLabel() porovnávajú s readable(), takže hľadajú popis v aktuálnom jazyku — praktické pri importe dát, ktoré zadávajú ľudia pracujúci s preloženým rozhraním.

Vlastné popisy

Ak sa popis nedá odvodiť z hodnoty — pri celočíselných enumoch, skratkách alebo pri znení odlišnom od hodnoty — prepíšte readable() priamo na enume. Metódy deklarované na enume majú prednosť pred traitom a label(), labels(), toOptions(), options() aj vyhľadávanie podľa popisu použijú vašu verziu:

use RoundlyConsulting\Enums\Helpers;

enum Priority: int
{
    use Helpers;

    case Low = 0;
    case Medium = 5;
    case High = 10;

    public function readable(): string
    {
        return match ($this) {
            self::Low => __('Low priority'),
            self::Medium => __('Medium priority'),
            self::High => __('High priority'),
        };
    }
}

Priority::Low->label();                // "Low priority"
Priority::toOptions();                 // [0 => 'Low priority', 5 => 'Medium priority', 10 => 'High priority']
Priority::fromLabel('High priority');  // Priority::High

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.