问题:
开启了多应用之后,全局中间中开启多语言中间件 \think\middleware\LoadLangPack::class,但是切换语言之后对应的语言并没有加载还是用的默认语言包
原因:
多应用模式下全局中间件运行了之后加载应用配置的时候重新调用了加载应用默认语言包
解决:
vendor\topthink\think-multi-app\src\MultiApp.php 221行
// 加载应用默认语言包
// $this->app->loadLangPack($this->app->lang->defaultLangSet());
$langSet = $this->app->lang->getLangSet();
$this->app->lang->switchLangSet($langSet);