Localizare, laravel în rusă

Funcțiile de localizare din Laravel oferă o modalitate convenabilă de a obține șiruri de limbi, permițând aplicației dvs. să suporte limbi de interfață multiple. Comenzile de limbă sunt stocate în folderul resurse / lang. În interior, subfolderele ar trebui să fie localizate pentru toate limbile acceptate de aplicație:







Toate fișierele de limbă (scripturi) returnează pur și simplu o matrice de perechi cheie / valoare. De exemplu:

Setarea limbii

Limbajul implicit este specificat în fișierul de configurare config / app.php. Desigur, puteți modifica această valoare pentru cererea dvs., dacă este necesar. De asemenea, puteți schimba limba curentă în timp ce aplicația dvs. rulează utilizând aplicația facade setLocale () a aplicației PHP:

Puteți crea o "limbă de rezervă". care va fi utilizat atunci când nu există o linie corespunzătoare în fișierul lingvistic curent. Ca și limba prestabilită, limbajul de rezervă este, de asemenea, configurat în fișierul config / app.php:

Definiția limbii actuale

Puteți utiliza metodele PHP getLocale () și PHP isLocale () din fațada App pentru a determina limba curentă și pentru a verifica dacă limba curentă se potrivește cu valoarea trecută:

Obținerea șirurilor de limbă

Puteți obține șiruri dintr-un fișier lingvistic folosind funcția PHP trans (). Metoda PHP trans () ia fișierul și cheia de șir de limbă ca primul argument. De exemplu, să luăm linia de limbă de bun venit din fișierul resources / lang / messages.php:

Desigur, dacă folosiți șablonul Blade. puteți utiliza sintaxa> sau directiva PHP @ lang (pentru versiunea 5.2 și cea mai recentă) pentru a obține șirul de limbă:

Dacă șirul nu este găsit, metoda PHP trans () va returna numele său (cheie). În exemplul nostru vor fi mesaje.welcome.

Obținerea șirurilor dintr-un fișier lingvistic

Primul argument pentru metoda PHP get () este numele fișierului lingvistic, iar numele șirului care urmează să fie preluat este specificat.

Dacă șirul nu este găsit, metoda PHP get () va returna numele său (cheie).

Înlocuirea pieselor în rânduri

Dacă doriți, specificați un loc de înlocuit în bara de limbă. Toate site-urile de înlocuire încep cu un colon (:). De exemplu, puteți specifica un mesaj de întâmpinare utilizând un înlocuitor pentru nume:







Pentru a înlocui o valoare pentru un șir de limbi, treceți matricea de înlocuire la al doilea argument al metodei PHP trans ():

Valoarea care va fi inserată va fi convertită în funcție de modul în care este setat punctul de înlocuire (toate caracterele sunt capital sau numai prima):

Verificarea existenței unui șir de limbi

plural

Formele pluraliste reprezintă o problemă pentru multe limbi, deoarece toate au reguli complexe diferite pentru formarea pluralului. Cu toate acestea, puteți să o faceți cu ușurință în fișierele dvs. de limbă folosind pentru separarea formelor singulare și pluraliste:

După ce ați determinat șirul de limbă cu opțiunile pentru numere diferite, puteți utiliza funcția PHP trans_choice () pentru a obține șirul la numărul corect. În acest exemplu, varianta va reveni în plural, deoarece un număr mai mare decât 1 este specificat:

De asemenea, puteți trece un argument locale pentru a specifica limba. De exemplu, dacă doriți să utilizați limba rusă (ru):

Deoarece Laravel utilizează componenta Symfony Translation, puteți crea cu ușurință reguli mai precise care vor specifica șiruri de limbă pentru mai multe spații numerice:

Fișierele pachetului lingvistic suprapuse

Multe pachete vin cu propriile fișiere de limbă. În loc să deschideți fișierele din interiorul pachetului pentru a personaliza rândurile din ele, puteți să le înlocuiți prin plasarea fișierelor în directorul resources / lang / vendor // (pentru Laravel versiunea 5.0 - resources / lang / packages).

De exemplu, dacă trebuie să modificați liniile de limbă engleză în mesaje.php pentru pachetul skyrim / hearthfire. trebuie să puneți fișierul lingvistic în resurse / lang / vendor / hearthfire / en / messages.php. În acest fișier, trebuie doar să specificați liniile pe care doriți să le suprapuneți. Toate celelalte linii pe care nu trebuie să le suprapuneți vor fi descărcate din fișierele lingvistice ale pachetului propriu-zis.

Localizare, laravel în rusă

Există fișiere rusești pentru validation.php? Înțeleg că acest lucru se poate face singur, dar de ce face deja ceea ce este posibil

Localizare, laravel în rusă

Localizare, laravel în rusă

Și nu cuvântul despre comutarea limbilor și preluarea conținutului din baza de date (((((((((((

Localizare, laravel în rusă

Localizare, laravel în rusă







Articole similare

Trimiteți-le prietenilor: