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.phpw 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.jsonw 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.jsonpliku 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.phpplik. 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ą setLocalemetody Appfasady. 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.phpi de.jsonz 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ą echofunkcji.
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.josnpliku,
{
"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

