您需要添加中间件语言并编写以下代码:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
class language
{
public function handle($request, Closure $next)
{
$raw_locale = $request->session()->get('locale');
if (in_array($raw_locale, Config::get('app.locales'))) {
$locale = $raw_locale;
}
else $locale = Config::get('app.locale');
App::setLocale($locale);
return $next($request);
}
}
在内核中添加这一行
'language' => \App\Http\Middleware\language::class,
然后加上配置应用程序
'locale' => 'ar',
'locales' => ['ar', 'en'],
<li><a href="{{ route('language.change','en') }}">English</a></li>
<li><a href="{{ route('language.change','ar') }}">Ø§ÙØ¹Ø±Ø¨ÙØ©</a></li>
在途中
Route::group(['middleware' => ['admin', 'language']], function () {
Route::get('setlocale/{locale}', function ($locale) {
if (in_array($locale, \Config::get('app.locales'))) { session(['locale' => $locale]); }
return redirect()->back();
})->name('language.change');
});