---
title: "Preklad popisov — Enums for Laravel | Roundly"
description: "Lokalizujte popisy cez JSON prekladové súbory či skupinu #[TranslatedLabels], alebo prepíšte readable() na enume a majte ich plne pod kontrolou."
url: https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel/preklad-popisov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Enums for Laravel](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)

# 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:

```json
{
    "Hot News": "Horúce správy",
    "Regular News": "Bežné správy",
    "Private News": "Súkromné správy"
}
```

```php
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.

Kľúče zo Str::headline() zdieľajú všetky enumy v aplikácii. Ak chcete mať riadky každého enumu v jeho vlastnej skupine — v lang/<locale>/enums.php s hodnotou ako kľúčom —, označte enum atribútom #\[TranslatedLabels\]; pozri časť Popisy z prekladových súborov.

## 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(), presentations() aj vyhľadávanie podľa popisu použijú vašu verziu:

```php
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
```

Prepisujte readable(), nie label(). readable() je jediný zdroj popisov — volajú ho labels(), toOptions(), toArray(), options(), fromLabel(), tryFromLabel(), label(), presentation() aj presentations() —, takže enum, ktorý prepíše len label(), dostane vlastný text iba z ->label(), kým všetky zoznamy budú stále ukazovať predvolený popis.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)
