Looge PHP-s mitmekeelne veebisait, kasutades Laraveli raamistikku
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’.
Soovitatav on kasutada kausta nime territooriumi järgi vastavalt ISO väärtustele. Keelte koodide loendi leiate siit.
Looge messages.php
kausta ‘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.json
kataloogi ‘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.json
lisage 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.php
fail. Leidke võti ‘locale’ ja määrake keelekood. Meie puhul nii saab 'locale' => 'de'
.
Teise võimalusena saate määrata keele Runtime kasutades setLocale
meetodit App
fassaadi. 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.php
ja de.json
labafailist.
{{ __('messages.welcome') }} //Output, Herzlich willkommen
{{ __('How are you?') }} //Output, Wie geht es dir?
Kontrollerist saate tõlke stringi echo
funktsiooni 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.josn
failis,
{
"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.