Skapa flerspråkig webbplats i PHP med hjälp av Laravel Framework
Vill du skapa en flerspråkig webbplats i PHP? En webbplats med flera språk hjälper till att öka publiken från flera regioner. I den här artikeln studerar vi hur man bygger en flerspråkig webbplats i PHP med hjälp av Laravel Framework.
Laravel har en inbyggd funktion i lokalisering. Språklokalisering är processen att översätta innehåll till olika språk. Med den här inbyggda funktionen i Laravel kan vi lägga till stöd för flerspråk på Laravels webbplats.
I Laravel kan du enkelt hämta strängar på olika språk, genom vilka du kan ge stöd till flera språk i applikationen.
Det finns två sätt att definiera översättningssträngar i Laravel – genom att använda korta tangenter och använda översättningssträngar som nycklar. Låt oss ta en titt på det en efter en.
Laravel-översättning med korta tangenter
För att komma igång bör du först känna till de katalogstrukturer som används för översättning i Laravel.
Låt oss säga att du måste lägga till stöd för det "tyska" språket. Så skapa en ‘de’ -katalog under mappen ‘resources / lang’.
Det rekommenderas att använda mappnamn enligt territoriet enligt ISO-värden. Du kan få en lista med koder för språk här.
Skapa en fil messages.php
under "de" -mappen. Den här filen innehåller en rad tangenterade strängar. Nedan följer exemplet där vi använder tysk översättning för det engelska ordet "välkommen".
<?php
return [
'welcome' => 'Herzlich willkommen',
];
Här är ‘välkommen’ en användardefinierad nyckel. Den här nyckeln används för att hämta översättningssträngar på tyska. Du kan lägga till så många nycklar i den här filen. När du lägger till nycklar bör du använda unika nycklar i matrisen. Dubbla nycklar resulterar i en felaktig översättning.
Ovanstående process är lätt om din webbplats inte har mycket innehåll. Men om din webbplats är ganska innehållsrik är det svårt att hantera unika nycklar. I sådana fall, gå till det andra alternativet att skicka översättningssträngar som nycklar.
Använda översättningssträngar som nycklar
I detta tillvägagångssätt behöver du inte skicka en unik nyckel. Vad du behöver göra är att skapa en fil de.json
i katalogen ‘resurser / lång’. Därefter skickar du översättningssträngen som nycklar i den här JSON-filen.
Till exempel vill du ha en tysk översättning av den engelska meningen ‘Hur mår du?’ de.json
lägg sedan till nedanstående par i fil.
{
"How are you?": "Wie geht es dir?"
}
Översättningssträngnyckeln ska vara exakt vad du vill översätta för. Detta kommer att bli mycket enklare eftersom du i koden måste skicka en översättningssträng direkt.
Ställ in språk för Laravels webbplats
När vi installerar Laravel är standardspråkuppsättningen ‘en’. För att ändra standardspråk, öppna config/app.php
filen. Hitta nyckeln "locale" och ställ in språkkoden. I vårt fall kommer det att vara 'locale' => 'de'
.
Alternativt kan du ställa in språktid med hjälp setLocale
av App
fasadmetoden. I koden nedan ställer jag in språket i konstruktören.
use App;
public function __construct() {
App::setLocale('de');
}
Skaffa översättningssträngar och byt ut den
För att få den översatta texten från språkfiler tillhandahöll Laravel en hjälparmetod ”. I koden nedan hämtar jag översättningssträngar från både messages.php
och de.json
i bladfilen.
{{ __('messages.welcome') }} //Output, Herzlich willkommen
{{ __('How are you?') }} //Output, Wie geht es dir?
I styrenheten kan du hämta översättningssträngen med echo
funktionen.
echo __('messages.welcome');
echo __('How are you?');
Platshållare i översättningssträngar
Laravel utforskar också översättningsfunktioner där du kan skicka platshållare i översättningssträngarna.
'welcome' => 'Welcome, :name',
Eller i de.josn
arkiv,
{
"How are you?": "Wie geht es dir, :name?"
}
För att ersätta platshållare i applikationen måste vi skriva kod enligt följande.
{{ __('messages.welcome', ['name' => 'John']) }}
{{ __('How are you?', ['name' => 'John']) }}
Om vi skriver en platshållare som ‘: NAME’ skulle utmatningen vara ‘JOHN’ och för ‘: Name’ är output ‘John’.
Jag hoppas att du förstår hur du skapar en flerspråkig webbplats i PHP med Laravel-ramverket. Dela dina tankar och förslag i kommentarsektionen nedan.
relaterade artiklar
- En guide för att ladda upp och komprimera bilder i Laravel
- Hur man installerar och använder CKEditor i Laravel
- Hur man använder Laravel Tinker