Функция локализации Laravel поддерживает другой язык, который будет использоваться в приложении. Вам нужно хранить все строки на разных языках в файле, и эти файлы хранятся в каталоге resources / views . Вы должны создать отдельный каталог для каждого поддерживаемого языка. Все языковые файлы должны возвращать массив строк с ключами, как показано ниже.
<?php return [ 'welcome' => 'Welcome to the application' ];
пример
Шаг 1 – Создайте 3 файла для языков – английский, французский и немецкий . Сохраните файл на английском языке в ресурсах / lang / en / lang.php
<?php return [ 'msg' => 'Laravel Internationalization example.' ]; ?>
Шаг 2 – Сохраните французский файл в ресурсах / lang / fr / lang.php .
<?php return [ 'msg' => 'Exemple Laravel internationalisation.' ]; ?>
Шаг 3 – Сохраните немецкий файл в ресурсах / lang / de / lang.php .
<?php return [ 'msg' => 'Laravel Internationalisierung Beispiel.' ]; ?>
Шаг 4 – Создайте контроллер с именем LocalizationController , выполнив следующую команду.
php artisan make:controller LocalizationController --plain
Шаг 5 – После успешного выполнения вы получите следующий вывод –
Шаг 6 – Скопируйте следующий код в файл
приложение / Http / Контроллеры / LocalizationController.php
приложение / Http / Контроллеры / 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'); } }
Шаг 7 – Добавьте маршрут для LocalizationController в файле app / Http / rout.php . Обратите внимание, что мы передаем аргумент {locale} после локализации /, который мы будем использовать, чтобы увидеть вывод на другом языке.
приложение / Http / routes.php
Route::get('localization/{locale}','LocalizationController@index');
Шаг 8 – Теперь давайте посетим разные URL, чтобы увидеть все разные языки. Выполните приведенный ниже URL, чтобы увидеть вывод на английском языке.
http://localhost:8000/localization/en
Шаг 9 – Вывод будет выглядеть, как показано на следующем рисунке.
Шаг 10 – Выполните приведенный ниже URL, чтобы увидеть вывод на французском языке.
http://localhost:8000/localization/fr
Шаг 11 – Вывод будет выглядеть, как показано на следующем рисунке.
Шаг 12 – Выполните приведенный ниже URL, чтобы увидеть вывод на немецком языке
http://localhost:8000/localization/de
Шаг 13 – Вывод будет выглядеть, как показано на следующем рисунке.