完成修改:
config / 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"
帮助?
答案 0 :(得分:3)
我已经想出如何解决这个问题:
<?php namespace App\Http\Middleware;
use Closure;
use Session;
use App;
use Config;
class Locale {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
App::setLocale(env('APP_LOCALE'));
return $next($request);
}
}
在 Kernel.php
上protected $middleware = [
.
.
.
'App\Http\Middleware\Locale'
];
<强>更新强>
我的配置是通过命令缓存的:
php artisan config:cache
所以,我做完了:
php artisan config:clear
上面的中间件不再是必需的了。
答案 1 :(得分:0)
php artisan config:clear
php artisan cache:clear
php artisan config:cache
如果在部署过程中使用config:cache命令,则必须确保只从配置文件中调用env函数,而不从应用程序中的其他任何地方调用。
如果要从应用程序内部调用env,则强烈建议您向配置文件中添加适当的配置值,然后从该位置调用env,从而使您可以将env调用转换为配置调用。
读取整个线程