laravel 5.5本地化网址

时间:2018-01-21 09:16:46

标签: php laravel

我使用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()

1 个答案:

答案 0 :(得分:1)

您应该使用参数而不是硬编码setLocale()方法调用:

Route::group(['prefix' => '{lang}'], function() {

然后在middleware设置区域设置:

public function handle($request, Closure $next)
{
    app()->setLocale($request->lang);
    return $next($request);
}