Stav prekladov
Pre prehľady úplnosti v administrácii zistíte stav pre jedno pole alebo pre všetky prekladateľné atribúty jedným volaním. Všetko sa meria voči podporovaným jazykom:
// Stored: name = {"en": …, "sk": …}, description = {"en": …}
$topic->missingLocales('description'); // ['sk'] — one field
$topic->missingTranslations(); // ['name' => [], 'description' => ['sk']] field => missing locales
$topic->isFullyTranslated(); // false — every field needs every supported locale
$topic->isFullyTranslated('name'); // true — one attribute only
$topic->translationCompleteness(); // 0.75 — filled / (fields × locales), for a progress bartranslationCompleteness() počíta vyplnené / (polia × jazyky) — pripravené pre progress bar „preložené na 70 %“. Model bez atribútov pre stav sa považuje za úplne preložený (1.0).
Vylúčenie atribútov
Stĺpec — typicky slug — vylúčite zo stavu celého modelu prepísaním protected metódy. Rešpektujú ju missingTranslations(), isFullyTranslated() bez argumentu, translationCompleteness() aj Blade odznak:
/** @return list<string> */
protected function translationStatusExcludes(): array
{
return ['slug'];
}Blade odznak stavu
Odznak „ktoré jazyky ešte chýbajú“ vložíte do akéhokoľvek Blade view:
<x-translatable-status :model="$topic" />Pre čiastočne preložený model vypíše chýbajúce jazyky každého poľa, pre úplne preložený model odznak dokončenia. Markup je inline — nie je čo publikovať — preto naštýlujte triedy translatable-status alebo komponent obaľte vlastným:
<!-- Partially translated -->
<span class="translatable-status translatable-status--incomplete">
<span class="translatable-status__field" data-field="description">description: sk</span>
</span>
<!-- Fully translated -->
<span class="translatable-status translatable-status--complete">All locales translated.</span>Text dokončenia je jazykový riadok translatable::status.complete („All locales translated.“).
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 kryptomienOdoslaní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.