Spatie käsittelee käännöksiä sekä tietokanta- että kielitiedostoilla pääasiassa Laravel-translaatio-latauspaketin kautta, joka integroituu saumattomasti Laravelin alkuperäiseen käännösjärjestelmään.
Kuinka se toimii sekä tietokanta- että kielitiedostoja käytettäessä
- Paketin avulla voit tallentaa tietokantaan käännökset erillisellä taulukolla (`Language_lines`). Jokaista käännösmerkkiä edustaa `Languageline` -malli -ilmentymä, joka sisältää:
- `Group`: Käännösryhmä (esim." Validointi "tai" Auth ").
- `avain`: Käännösavain ryhmässä.
- `Teksti`: Taulukko, jolla on käännökset eri paikallisille alueille (esim.`
- Kun pyydät käännöstä käyttämällä Laravelin tavallisia käännöstoimintoja, kuten `trans ()` tai __ () `, paketti tarkistaa ensin käännöksen tietokannan. Jos se löytää vastaavan merkinnän, se palauttaa tietokantaversion.
- Jos käännöstä ei löydy tietokannasta, se palaa takaisin perinteisiin kielitiedostoihin, jotka on tallennettu Laravelin resurssien/lang` -hakemistoon.
- Tämä tarkoittaa, että tietokannan käännökset ohittavat kielitiedoston käännökset, jos molemmat ovat samassa avaimessa ja paikalla.
- Paketti tukee sekä ryhmäpohjaisia käännöksiä (esim. "Validation.Required`) että JSON-käännöksiä käyttämällä erityistä ryhmänimeä` '*' `JSON-käännöslinjoille.
Lisäominaisuudet ja käyttäytyminen
- Paketti välimuisti käännösryhmät suorituskyvyn optimoimiseksi vähentämällä tietokantakyselyjä toistuvissa käännöspyyntöissä. Välimuisti mitätöidaan, kun käännökset luodaan, päivitetään tai poistetaan.
- Se on laajennettavissa: Voit lisätä mukautettuja käännöstoimittajia (esim. YAML, CSV) toteuttamalla paketin TranslationLoader` -rajapinta, jolloin käännökset voidaan ladata muista lähteistä tietokanta- ja kielitiedostojen ulkopuolella.
- Voit jatkaa Laravelin oletus käännös -avustajien ja terän direktiivien (`@lang`,` trans () `,` __ () `) käyttämistä ilman muutoksia.
Yhteenveto
Spatie-käännöskuormauspaketti yhdistää tehokkaasti tietokantavarastoidut käännökset Laravelin natiivitiedostoperusteisiin käännöksiin priorisoimalla tietokantamerkinnät. Tämä mahdollistaa käännösten dynaamisen muokkaamisen tietokannan tukeman käyttöliittymän kautta säilyttäen varovaisuuden staattisiin kielitiedostoihin. Integrointi on sujuvaa, mikä vaatii minimaalisia muutoksia olemassa oleviin käännöspuheluihin ja tarjoaa välimuisti ja laajennettavuus edistyneille käyttötapauksille [1] [3] [5] [6] [7].
Viittaukset:
[1] https://github.com/spatie/laravel-ranslation-loader
.
[3] https://laravel-news.com/translation-loader-package
[4] https://github.com/spatie/laravel-translateble
.
[6] https://packagist.org/packages/spatie/laravel-translation-loader
.
.