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

Open source

Translatable for Laravel

Inštalácia
composer require roundly-consulting/translatable-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Natívna vrstva prekladateľných atribútov pre Eloquent. Každý prekladateľný atribút je obyčajná mapa jazykov uložená v jednom stĺpci json/jsonb a čítanie vráti hodnotu pre aktuálny jazyk cez konfigurovateľný fallback reťazec, takže obsah nikdy nezostane prázdny. K tomu zabezpečený zápis, fasáda Translatable s validačnými a vyhľadávacími pomocníkmi pre administračné formuláre, prehľad stavu prekladov, voliteľné udalosti zmien a slugy pre každý jazyk cez sluggable-for-laravel. Licencia MIT, postavené len na Laraveli a vlastných balíkoch Roundly — bez závislostí tretích strán.

Čo získate

Jeden stĺpec na atribút

Každý prekladateľný atribút je obyčajná JSON mapa jazykov v jednom stĺpci jsonb — nový jazyk pridáte bez migrácie.

Fallback reťazec

Režimy None, Fallback alebo Any — čítanie prejde na záložný jazyk a potom na akúkoľvek hodnotu, takže obsah nikdy nezostane prázdny.

Zabezpečený zápis

Kľúče jazykov sa overujú pri každom zápise, hodnoty musia byť skalárne a striktný režim odmietne nepodporované jazyky.

Jedna fasáda, injektovateľný manager

Jazyky, vyhodnotenie fallbacku, normalizácia vstupu, validačné pravidlá, PATCH zmeny a vyhľadávanie na jednej fasáde — alebo injektujte jej manager.

Stav prekladov

Chýbajúce jazyky pre každé pole, miera úplnosti pre progress bar, scope pre chýbajúce jazyky a hotový Blade odznak.

Slugy podľa jazyka

sluggable-for-laravel vytvorí slug pre každý jazyk z rovnakého zdroja jazykov — dva traity, žiadny cast.

Voliteľné udalosti zmien

Jedna udalosť TranslationsChanged pri uložení — zaraďte AI doplnenie chýbajúcich jazykov do fronty bez úprav modelu.

Dokumentácia

Inštalácia

Inštalácia cez Composer, voliteľné publikovanie konfigurácie a validačných textov — žiadne migrácie na publikovanie.

Konfigurácia

Každý konfiguračný kľúč, jeho predvolená hodnota a env premenná — záložný jazyk, fallback režim, striktné jazyky a zdroj jazykov.

Schéma a ukladanie

Pridajte stĺpce jsonb s mapou jazykov cez Blueprint makro translatable(); hodnoty sa ukladajú ako obyčajný JSON objekt bez obalu.

Prekladateľné modely

Pridajte trait HasTranslations a kontrakt Translatable, vymenujte atribúty v $translatable a voliteľne prepíšte fallback pre model.

Fasáda Translatable

Všetky pomocníky pre mapy jazykov na jednej fasáde — podporované jazyky, overenie jazyka, fallback, vstup, pravidlá, vyhľadávanie a usingLocale().

DI a akcie

Namiesto fasády injektujte TranslationManager — rovnaké API ako explicitná závislosť. Akčné triedy balík nemá: ide o čisté výpočty.

Čítanie a zápis

Čítajte aktuálny jazyk cez fallback reťazec, zvoľte jazyk explicitne a zapisujte jednotlivé hodnoty alebo celé mapy jazykov.

Fallback režimy

Určte, kam až čítanie prejde — len presný jazyk, záložný jazyk alebo akákoľvek hodnota — globálne alebo pre konkrétny model.

Vstup a validácia

Zabezpečený zápis, normalizácia vstupu cez fromInput(), overenie jedného jazyka, validačné pravidlá pre mapy jazykov a zmeny v štýle PATCH.

Serializácia

toArray(), toJson(), JSON odpovede a API Resources vracajú pre každý atribút vyhodnotenú hodnotu jazyka, nie surovú mapu.

Stav prekladov

Chýbajúce jazyky pre každé pole, úplnosť celého modelu pre progress bar, vylúčenie atribútov a hotový Blade odznak stavu.

Dopyty a vyhľadávanie

Scopy pre jednotlivé jazyky nezávislé od databázy, scope pre chýbajúce jazyky a doslovné vyhľadávanie bez ohľadu na veľkosť písmen.

Udalosti

Zapnite jednu udalosť TranslationsChanged pri uložení — zaraďte AI doplnenie chýbajúcich jazykov či vyčistenie cache bez úprav modelu.

Slugy podľa jazyka

Slugy pre každý jazyk cez sluggable-for-laravel — dva traity, dve rozhrania, žiadny cast — s rovnakým zdrojom jazykov.

Artisan about

Sekcia balíka v php artisan about — počet a zdroj jazykov, fallback režim a prepínače, nikdy nie zoznam vašich jazykov.

Výnimky

Všetky chyby balíka dedia z TranslatableException — chybné kľúče jazykov, neskalárne hodnoty a neprekladateľné atribúty.

Testovanie

Zámerne bez fake — jazyky a fallback zafixujete konfiguráciou či výmenou managera, asertujete Pestom, sadu spustíte na SQLite, PostgreSQL či MySQL.

Požiadavky

PHP 8.4+ s ext-json, Laravel 12 alebo 13 a akákoľvek databáza podporovaná Laravelom; tri balíky Roundly sa nainštalujú automaticky.

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.