Twórz wielojęzyczną stronę internetową w PHP za pomocą Laravel Framework
Chcesz stworzyć wielojęzyczną stronę internetową w PHP? Wielojęzyczna strona internetowa pomaga zwiększyć liczbę odbiorców z kilku regionów. W tym artykule dowiemy się, jak zbudować wielojęzyczną stronę internetową w PHP przy użyciu Laravel Framework.
Laravel ma wbudowaną funkcję Lokalizacji. Lokalizacja językowa to proces tłumaczenia treści na różne języki. Korzystając z tej wbudowanej funkcji Laravela, możemy dodać obsługę wielu języków do strony Laravel.
W Laravelu możesz łatwo pobrać ciągi w różnych językach, dzięki czemu możesz wspierać wiele języków w aplikacji.
Istnieją dwa sposoby definiowania ciągów tłumaczeniowych w Laravelu – używając skrótów klawiszowych i używając ciągów tłumaczeniowych jako kluczy. Przyjrzyjmy się temu po kolei.
Tłumaczenie Laravel za pomocą skrótów
Aby rozpocząć, powinieneś najpierw znać struktury katalogów używane do tłumaczenia w Laravel.
Załóżmy, że musisz dodać obsługę języka „niemieckiego". Stwórz więc katalog ‘de’ w folderze ‘resources/lang’.
Zaleca się używanie nazwy folderu zgodnie z terytorium zgodnie z wartościami ISO. Listę kodów języków znajdziesz tutaj.
Utwórz plik messages.php
w folderze „de”. Ten plik zawiera tablicę łańcuchów z kluczami. Poniżej znajduje się przykład, w którym używamy niemieckiego tłumaczenia angielskiego słowa „welcome”.
<?php
return [
'welcome' => 'Herzlich willkommen',
];
Tutaj „welcome” to klucz zdefiniowany przez użytkownika. Ten klucz będzie używany do pobierania ciągów tłumaczeniowych w języku niemieckim. Możesz dodać dowolną liczbę kluczy w tym pliku. Podczas dodawania kluczy należy używać unikalnych kluczy w tablicy. Zduplikowane klucze spowodują błędne tłumaczenie.
Powyższy proces jest łatwy, jeśli Twoja witryna nie zawiera dużo treści. Ale jeśli Twoja witryna jest dość bogata w treść, utrzymanie unikalnych kluczy będzie trudne w obsłudze. W takich przypadkach przejdź do drugiej opcji przekazywania ciągów tłumaczeniowych jako kluczy.
Używanie ciągów tłumaczeniowych jako kluczy
W tym podejściu nie musisz przekazywać unikalnego klucza. To, co musisz zrobić, to utworzyć plik de.json
w katalogu „resources/lang”. Następnie w tym pliku JSON przekaż ciąg tłumaczenia jako klucze.
Na przykład chcesz otrzymać niemieckie tłumaczenie angielskiego zdania „Jak się masz?” następnie w de.json
pliku dodaj poniższą parę.
{
"How are you?": "Wie geht es dir?"
}
Klucz ciągu tłumaczenia powinien być dokładnie tym, dla którego chcesz tłumaczyć. Będzie to o wiele prostsze, ponieważ w kodzie musisz bezpośrednio przekazać ciąg tłumaczenia.
Ustaw język dla strony Laravel
Kiedy instalujemy Laravela, domyślnym ustawieniem językowym jest ‘en’. Aby zmienić domyślny język, otwórz config/app.php
plik. Znajdź klucz „locale” i ustaw kod języka. W naszym przypadku będzie to 'locale' => 'de'
.
Alternatywnie można ustawić środowisko wykonawcze języka za pomocą setLocale
metody App
fasady. W poniższym kodzie ustawiam język w konstruktorze.
use App;
public function __construct() {
App::setLocale('de');
}
Pobierz ciągi tłumaczenia i zastąp je
Aby pobrać przetłumaczony tekst z plików językowych, Laravel udostępnił metodę pomocniczą ‘„. W poniższym kodzie pobieram ciągi tłumaczeń zarówno z pliku, jak messages.php
i de.json
z pliku ostrza.
{{ __('messages.welcome') }} //Output, Herzlich willkommen
{{ __('How are you?') }} //Output, Wie geht es dir?
W kontrolerze możesz uzyskać ciąg tłumaczenia za pomocą echo
funkcji.
echo __('messages.welcome');
echo __('How are you?');
Symbole zastępcze w ciągach tłumaczeniowych
Laravel bada również funkcje tłumaczenia, w których można przekazywać symbole zastępcze w ciągach tłumaczeniowych.
'welcome' => 'Welcome, :name',
Lub w de.josn
pliku,
{
"How are you?": "Wie geht es dir, :name?"
}
Aby zastąpić symbole zastępcze w aplikacji, musimy napisać poniższy kod.
{{ __('messages.welcome', ['name' => 'John']) }}
{{ __('How are you?', ['name' => 'John']) }}
Jeśli zapiszemy symbol zastępczy jako ‘:NAME’, wynik będzie ‘JAN’, a dla ‘:Name’ wynik będzie ‘Jan’.
Mam nadzieję, że rozumiesz jak stworzyć wielojęzyczną stronę w PHP z wykorzystaniem frameworka Laravel. Podziel się swoimi przemyśleniami i sugestiami w sekcji komentarzy poniżej.
Powiązane artykuły
- Przewodnik po przesyłaniu i kompresowaniu obrazów w Laravel
- Jak zainstalować i używać CKEditor w Laravel?
- Jak korzystać z Laravel Tinker