✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Looge PHP-s mitmekeelne veebisait, kasutades Laraveli raamistikku

28

Kas soovite luua PHP-s mitmekeelse veebisaidi? Mitmekeelne veebisait aitab suurendada vaatajaskonda mitmest piirkonnast. Selles artiklis uurime, kuidas Laraveli raamistiku abil luua PHP-s mitmekeelne veebisait.

Laravelil on lokaliseerimise sisseehitatud funktsioon. Keele lokaliseerimine on sisu tõlkimise protsess erinevatesse keeltesse. Selle Laraveli sisseehitatud funktsiooni abil saame Laraveli veebisaidile lisada mitme keele tuge.

Laravelis saate hõlpsasti hankida stringe erinevates keeltes, mille kaudu saate rakenduses toetada mitut keelt.

Laravelis saab tõlkimisstringi määratleda kahel viisil – kasutades lühikesi klahve ja kasutades võtmetena tõlkimisstringi. Vaatame seda ükshaaval.

Laraveli tõlge lühiklahvide abil

Alustuseks peaksite kõigepealt teadma kataloogistruktuure, mida kasutatakse tõlkimiseks Laravelis.

Oletame, et peate lisama saksa keele tuge. Niisiis looge kausta ‘resources / lang’ kataloog ‘de’.

Looge PHP-s mitmekeelne veebisait, kasutades Laraveli raamistikku

Soovitatav on kasutada kausta nime territooriumi järgi vastavalt ISO väärtustele. Keelte koodide loendi leiate siit.

Looge messages.phpkausta ‘de’ all fail. See fail sisaldab massiivi võtmega stringe. Allpool on toodud näide, kus me kasutame ingliskeelse sõna "welcome" saksakeelset tõlget.

<?php
 
return [
    'welcome' => 'Herzlich willkommen',
];

Siin on "teretulnud" kasutaja määratletud võti. Seda võtit kasutatakse saksa keeles tõlkimisstringide hankimiseks. Sellesse faili saate lisada nii palju võtmeid. Võtmete lisamise ajal peaksite massiivis kasutama unikaalseid võtmeid. Korduvate võtmete tulemuseks on vale tõlge.

Ülaltoodud protsess on lihtne, kui teie veebisaidil pole palju sisu. Kuid kui teie veebisait on üsna sisurikas, on unikaalsete võtmete hoidmine keeruline. Sellistel juhtudel kasutage võtmetena tõlkimisstringide edastamise teist võimalust.

Tõlkimisstringide kasutamine võtmetena

Selles lähenemises ei pea te unikaalset võtit edastama. Peate looma faili de.jsonkataloogi ‘resources / lang’ all. Järgmisena edastage selles JSON-failis tõlkekett võtmetena.

Näiteks soovite ingliskeelse lause „Kuidas läheb?" Saksakeelset tõlget siis de.jsonlisage faili allpool olev paar.

{
    "How are you?": "Wie geht es dir?"
}

Tõlkimisstringi võti peaks olema täpselt see, mille jaoks soovite tõlkida. See on palju lihtsam, kuna koodis peate tõlkimisstringi otse edastama.

Määrake Laraveli veebisaidi keel

Laraveli installimisel on vaikekeelekomplekt ‘en’. Vaikekeele muutmiseks avage config/app.phpfail. Leidke võti ‘locale’ ja määrake keelekood. Meie puhul nii saab 'locale' => 'de'.

Teise võimalusena saate määrata keele Runtime kasutades setLocalemeetodit Appfassaadi. Allpool olevas koodis määrasin konstruktori keele.

use App;
public function __construct() {
    App::setLocale('de');
}

Hankige tõlkimisstringid ja asendage need

Tõlgitud teksti saamiseks keelefailidest pakkus Laravel abimeetodit ‘". Allolevas koodis togin tõlkimisstringi mõlemast messages.phpja de.jsonlabafailist.

{{ __('messages.welcome') }} //Output, Herzlich willkommen
 
{{ __('How are you?') }} //Output, Wie geht es dir?

Kontrollerist saate tõlke stringi echofunktsiooni abil.

echo __('messages.welcome');
echo __('How are you?');

Kohatäitjad tõlkimisstringides

Laravel uurib ka tõlkefunktsioone, kus saate tõlkimisstringides kohahoidjaid edastada.

'welcome' => 'Welcome, :name',

Või de.josnfailis,

{
    "How are you?": "Wie geht es dir, :name?"
}

Kohahoidjate asendamiseks rakenduses peame kirjutama koodi järgmiselt.

{{ __('messages.welcome', ['name' => 'John']) }}
 
{{ __('How are you?', ['name' => 'John']) }}

Kui kirjutame kohatäite ‘: NAME’, oleks väljundiks ‘JOHN’ ja ‘: Name’ väljundiks on ‘John’.

Loodetavasti saate aru, kuidas Laraveli raamistiku abil luua PHP-s mitmekeelne veebisait. Palun jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem