Laravel 5 配置语言环境,不起作用
Laravel 5 config locale, does not works
修改完成:
于 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"
帮忙?
我已经找到解决方法了:
<?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
并且上面的中间件不再是必需的。
php artisan config:clear
php artisan cache:clear
php artisan config:cache
如果您在部署期间使用 config:cache
命令,则必须确保您仅从配置文件中调用 env()
,而不是从应用程序的其他任何地方调用。
如果您从应用程序内部调用 env,强烈建议您将适当的配置值添加到您的配置文件并改为从该位置调用 env,从而允许您将 env 调用转换为配置调用。
阅读整个话题 here。
修改完成:
于 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"
帮忙?
我已经找到解决方法了:
<?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
并且上面的中间件不再是必需的。
php artisan config:clear
php artisan cache:clear
php artisan config:cache
如果您在部署期间使用 config:cache
命令,则必须确保您仅从配置文件中调用 env()
,而不是从应用程序的其他任何地方调用。
如果您从应用程序内部调用 env,强烈建议您将适当的配置值添加到您的配置文件并改为从该位置调用 env,从而允许您将 env 调用转换为配置调用。
阅读整个话题 here。