Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hogyan kezeli a Spatie a fordításokat, ha mind az adatbázis, mind a nyelvi fájlokat használják


Hogyan kezeli a Spatie a fordításokat, ha mind az adatbázis, mind a nyelvi fájlokat használják


A Spatie a fordításokat mind az adatbázis, mind a nyelvfájlokkal kezeli, elsősorban a Laravel-Translation-Loader csomagján keresztül, amely zökkenőmentesen integrálódik a Laravel natív fordítási rendszeréhez.

Hogyan működik az adatbázis és a nyelvfájlok használatakor

- A csomag lehetővé teszi a fordítások adatbázisban történő tárolását egy dedikált táblázat (`lolice_lines") segítségével. Minden fordítási bejegyzést egy „Languageline” modellpéldány képvisel, amely magában foglalja:
- `Group ': a fordítási csoport (például:" validálás "vagy" auth ").
- `Key`: A fordítási kulcs a csoporton belül.
- `Text`: egy tömb tartó fordítások különböző helyszíneken (például` ['en' => 'ez egy szükséges mező', 'nl' => 'dit az een verplicht veld'] `).

- Ha fordítást kér a Laravel szokásos fordítási funkcióival, mint például a `transz ()` vagy a `__ ()`, akkor a csomag először ellenőrzi a fordítás adatbázisát. Ha talál egy megfelelő bejegyzést, akkor adja vissza az adatbázis verzióját.

- Ha a fordítás nem található az adatbázisban, akkor visszatér a Laravel „Resources/Lang” könyvtárában tárolt hagyományos nyelvfájlokhoz.

- Ez azt jelenti, hogy az adatbázis -fordítások felülbírálják a nyelvfájl -fordításokat, ha mindkettő létezik ugyanazon kulcs és lokál esetén.

- A csomag mind a csoportos alapú fordításokat (például a „validation.required”), mind a JSON fordításokat támogatja egy speciális csoportnévvel, a `'*'` `` `a JSON fordítási sorokhoz.

További tulajdonságok és viselkedés

- A csomag gyorsítótárazási csoportokat gyorsít a teljesítmény optimalizálására, csökkentve az adatbázis -lekérdezéseket az ismételt fordítási kérelmeknél. A gyorsítótár érvénytelenül, amikor a fordításokat létrehozzák, frissítik vagy törlik.

- Bővíthető: Az egyéni fordító szolgáltatókat (például YAML, CSV) hozzáadhatja a csomag „Translationloader” felületének megvalósításával, lehetővé téve a fordítások betöltését más forrásokból az adatbázison és a nyelvi fájlokon túl.

.

Összegzés

A Spatie S Translation Loader csomag hatékonyan egyesíti az adatbázis-tárolt fordításokat a Laravel natív fájl-alapú fordításával az adatbázis-bejegyzések rangsorolásával. Ez lehetővé teszi a fordítások dinamikus szerkesztését az adatbázis által támogatott felhasználói felületen keresztül, miközben megtartja a statikus nyelvi fájlok visszafogását. Az integráció zökkenőmentes, a meglévő fordítási hívások minimális változtatását igényli, és gyorsítótárazást és kiterjeszthetőséget kínál a fejlett felhasználási esetekhez [1] [3] [5] [6] [7].

Idézetek:
[1] https://github.com/spatie/laravel-translationloader
[2] https://spatie.be/docs/laravel-translatable/v6/introduction
[3] https://laravel-news.com/transzlation-loader-package
[4] https://github.com/spatie/laravel-translatable
[5] https://www.laravelblogs.com/courses/multi-Language-laravel
[6] https://packagist.org/packages/spatie/laravel-transzlationloader
[7] https://freek.dev/593-a-laravel-package-to-bolt-nyilvántartási sorok-in-the-the-the-database
[8] https://laraveldaily.com/lesson/multi-lenguage-laravel/spatie-laravel-translatable