我使用Laravel区域设置,需要在网址上显示语言标记, 我创建了一个类似的路由组,并在组中列出了我的路由
Route::group(['prefix' => App::getLocale()], function(){
Route::get('login','Hostato\Admin\Controllers\Auth\LoginController@showLoginForm')
->name('login');
});
但它始终显示' localhost:8000 / en / logoin',但如果我在视图中呈现
{{ App::getLocale() }}
它显示正确选择的语言符号
在路由组前缀我需要使用其他方式而不是吗?
App::getLocale()
答案 0 :(得分:1)
您应该使用参数而不是硬编码setLocale()
方法调用:
Route::group(['prefix' => '{lang}'], function() {
然后在middleware设置区域设置:
public function handle($request, Closure $next)
{
app()->setLocale($request->lang);
return $next($request);
}