---
title: "Preklady — Posts for Laravel | Roundly"
description: "Nadpisy, perexy, texty a SEO meta pre každý jazyk uložené v JSON — zápis, čítanie a presné poradie záložných jazykov."
url: https://roundly-consulting.com/sk/open-source/navody/posts-for-laravel/preklady
language: sk
---

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

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

# Preklady

Preložiteľné atribúty sú JSON stĺpce s mapou jazyk => hodnota, ktoré spracúva vlastný concern balíka HasTranslatableAttributes — bez knižnice tretej strany. Na príspevku sú to title, slug, perex, content, meta\_title a meta\_description; na kategóriách a tagoch name a slug.

## Zápis prekladov

```php
use RoundlyConsulting\Posts\Facades\Posts;

$post = Posts::draft()
    ->title('en', 'Hello world')
    ->title('sk', 'Ahoj svet')
    ->content('en', '<p>…</p>')
    ->by($user)                      // polymorphic author
    ->save();

// Plain Eloquent works too — edit translations on the model and save:
$post->setTranslation('perex', 'en', 'A short intro');
$post->save();
```

Builder ukladá cez Posts::create(); setTranslation() vráti model, ale neukladá ho — save() zavolajte sami. Slugy sa pri uložení vygenerujú z nadpisu pre každý jazyk (pozrite Slugy).

## Čítanie prekladov

```php
$post->getTranslation('title', 'sk');          // 'Ahoj svet' (with fallback)
$post->getTranslation('title', 'de', false);   // '' — exact locale, no fallback
$post->getTranslations('title');               // ['en' => 'Hello world', 'sk' => 'Ahoj svet']

$post->translate('title');                     // current-locale value, with fallback
$post->translate('title', 'sk');               // a given locale, with fallback
$post->title;                                  // same as translate('title')

$post->isTranslatableAttribute('title');       // true
$post->translatableAttributes();               // ['title', 'slug', 'perex', 'content', 'meta_title', 'meta_description']
```

## Poradie záložných jazykov

Čítanie so záložným jazykom skúša v tomto poradí:

- požadovaný jazyk;
- záložný jazyk — prvý nastavený z translatable.fallback\_locale (ak je nakonfigurovaný translatable-for-laravel), posts.locales.fallback a app.fallback\_locale; prázdna hodnota sa považuje za nenastavenú a prejde sa na ďalší;
- abecedne prvý jazyk, ktorý má hodnotu — stabilná voľba nezávislá od poradia kľúčov, v akom databáza vráti JSON.

Priamy prístup k atribútu ($post->title) prechádza týmto reťazcom, pokiaľ model pre daný kľúč nedefinuje accessor alebo mutator. Ak chcete čítať presne jeden jazyk, odovzdajte getTranslation() ako tretí argument false; pri chýbajúcom jazyku vráti ''.

## 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/posts-for-laravel.md)
