#### 插件版本
```json
"php": ">=7.2",
"workerman/webman-framework": "^1.4.3",
"illuminate/validation": "^9.52",
"symfony/translation": "^6.0"
```
#### 预期效果
采用APIPOST接口请求软件,通过传header参数`accept-language`实时更换语言
#### 实际问题
采用locale()设置语言中间件,本地语言包完全可以切换,但是`illuminate/validation`插件无法实时切换语言,只能重启项目后生效,想大佬帮忙看看怎么回事

#### 程序代码
##### 语言中间件代码
>** 方式一和方式二都试过都是同样的效果**
```
namespace hope\middleware;
use Webman\Http\Request;
use Webman\Http\Response;
use Webman\MiddlewareInterface;
class Lang implements MiddlewareInterface
{
/**
* @param Request $request
* @param callable $handler
* @return Response
*/
public function process(Request $request, callable $handler): Response
{
// 方式一:通过设置session
$session = $request->session();
$session->set('lang', getAcceptLang());
// 方式二:通过实时获取accept_language设置
locale(getAcceptLang());
var_dump(getAcceptLang());
return $handler($request);
}
}
```
##### 验证器代码
> **通过手动修改语言参数translationLocale是会手动生效的(因为项目会重启),但是当第一次设置英语en参数进行接口软件APIPOST调试是可以生效的,但是第二次设置中文zh_cn参数则不生效!**
```php
public static function getInstance(string $translationLocale = 'zh_cn'): Factory
{
if (null === static::$instance) {
$translationPath = hope_path() . '/resource/translations';
$transFileLoader = new FileLoader(new Filesystem, $translationPath);
$translator = new Translator($transFileLoader, session('lang'));
static::$instance = new Factory($translator);
}
return static::$instance;
}
```
#### 初步设想
我想是不是代码缓存了,还是通过上次请求过的参数响应结果。希望大佬们可以帮忙看看怎么回事