在laravel中设置会话之前,如何检查语言的存在?

Abd*_*tin 2 laravel laravel-5

你好 我目前在使用此功能routes

Route::get('locale/{locale}', function ($locale) {
    \Session::put('locale', $locale);
    return redirect()->back();
});
Run Code Online (Sandbox Code Playgroud)

用于更改语言。

我想在这样的语言集之前检查一种语言的存在SESSION

Route::get('locale/{locale}', function ($locale) {
    if(!exist($locale)){
         \Session::put('locale', 'en');
    }
    else{
         \Session::put('locale', $locale);    
    }
    return redirect()->back();
});
Run Code Online (Sandbox Code Playgroud)

如何创建类似上述功能的功能?

上面的功能只是一个示例,它是不正确的

Dev*_*von 5

是否必要这将被确定。如果给定的语言环境完全缺少或仅缺少该特定标识符,Laravel将使用默认语言。

我可以想到一种简单的方法来检查特定语言环境是否具有任何翻译:

if (file_exists(resource_path("lang/$locale"))) {
   // Locale directory exists
}
Run Code Online (Sandbox Code Playgroud)