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