Laravel - lokalizacja
Funkcja lokalizacji Laravel obsługuje różne języki używane w aplikacji. Musisz przechowywać wszystkie ciągi znaków w innym języku w pliku, a te pliki są przechowywane pod adresemresources/viewsinformator. Powinieneś utworzyć osobny katalog dla każdego obsługiwanego języka. Wszystkie pliki językowe powinny zwracać tablicę łańcuchów z kluczami, jak pokazano poniżej.
<?php
return [
'welcome' => 'Welcome to the application'
];
Przykład
Step 1 - Utwórz 3 pliki dla języków - English, French, i German. Zapisz plik w języku angielskim wresources/lang/en/lang.php
<?php
return [
'msg' => 'Laravel Internationalization example.'
];
?>
Step 2 - Zapisz plik francuski w resources/lang/fr/lang.php.
<?php
return [
'msg' => 'Exemple Laravel internationalisation.'
];
?>
Step 3 - Zapisz niemiecki plik w resources/lang/de/lang.php.
<?php
return [
'msg' => 'Laravel Internationalisierung Beispiel.'
];
?>
Step 4 - Utwórz kontroler o nazwie LocalizationController wykonując następujące polecenie.
php artisan make:controller LocalizationController --plain
Step 5 - Po pomyślnym wykonaniu otrzymasz następujące dane wyjściowe -
Step 6 - Skopiuj następujący kod do pliku
app/Http/Controllers/LocalizationController.php
app/Http/Controllers/LocalizationController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class LocalizationController extends Controller {
public function index(Request $request,$locale) {
//set’s application’s locale
app()->setLocale($locale);
//Gets the translated message and displays it
echo trans('lang.msg');
}
}
Step 7 - Dodaj trasę dla LocalizationController w app/Http/routes.phpplik. Zauważ, że przekazujemy argument {locale} po lokalizacji /, którego użyjemy do wyświetlenia wyniku w innym języku.
app/Http/routes.php
Route::get('localization/{locale}','LocalizationController@index');
Step 8- Teraz przejdźmy do różnych adresów URL, aby zobaczyć wszystkie języki. Uruchom poniższy adres URL, aby wyświetlić dane wyjściowe w języku angielskim.
http://localhost:8000/localization/en
Step 9 - Dane wyjściowe będą wyglądać tak, jak pokazano na poniższej ilustracji.
Step 10 - Uruchom poniższy adres URL, aby wyświetlić dane wyjściowe w języku francuskim.
http://localhost:8000/localization/fr
Step 11 - Dane wyjściowe będą wyglądać tak, jak pokazano na poniższej ilustracji.
Step 12 - Uruchom poniższy adres URL, aby wyświetlić dane wyjściowe w języku niemieckim
http://localhost:8000/localization/de
Step 13 - Dane wyjściowe będą wyglądać tak, jak pokazano na poniższej ilustracji.