Laravel 5配置区域设置不起作用

2022-04-02 00:00:00 validation locale php laravel laravel-5

修改完成:

配置/app.php

'locale' => env('APP_LOCALE', 'en'),
'fallback_locale' => 'en',

在.env

APP_LOCALE=pt

我还将/Resources/lang/en文件复制到/Resources/lang/pt文件,作为docs suggests。

问题:

我的所有验证消息仍然是英文的,并且正在运行php artisan Tinker:

>>> Lang::getLocale()
=> "en"

>>> env('APP_LOCALE')
=> "pt"

帮助?


解决方案

我已经想出了解决方法:

<?php namespace AppHttpMiddleware;

use Closure;
use Session;
use App;
use Config;

class Locale {

    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        App::setLocale(env('APP_LOCALE'));
        return $next($request);
    }

}

在Kernel.php

protected $middleware = [
    .
    .
    .

    'AppHttpMiddlewareLocale'
];

更新:

我的配置被命令缓存:

php artisan config:cache

所以,我已经完成了:

php artisan config:clear

并且不再需要上面的中间件。

相关文章