thinkphp6 多应用多语言模式下全局中间件不生效的问题

问题:
开启了多应用之后,全局中间中开启多语言中间件 \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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容