当我们想要根据以下 URL 中的 $_GET 参数设置区域设置语言设置 (App::setLocale()) 时的简单场景:
http://aboutlaravel.com/?language_code=en
可能的解决方案:创建一个中间件并在 app/Http/Kernel.php 中注册
protected $middlewareGroups = [
'web' => [
...
\App\Http\Middleware\Localization::class
],
本地化中间件将如下所示:
public function handle($request, Closure $next)
{
if(isset($_GET['language_code'])) {
if ($_GET['language_code'] == "en") {
App::setLocale("en");
} else if ($_GET['language_code'] == "de") {
App::setLocale("de");
}
}
return $next($request);
}