首页 > 解决方案 > 会话语言环境背包

问题描述

我是背包用户,我正在尝试更改应用程序的语言。通过会话,我可以发送另一种语言,但是当它通过背包 URL 进入路由时,它又被修改为英语。这可能是由某些中间件引起的。您能给我提供中间件或提供其他解决方案吗?谢谢

标签: laravel-backpack

解决方案


我相信这取决于您如何设置该语言 - 如果您使用中间件完成了设置,那么它确实可能不适用于管理页面,因为该中间件没有加载在那里。

您可以更改在您的config/backpack/base.php, 下使用的中间件管理页面middleware_class。所以你可以:

A) 在基本配置文件中添加自定义中间件,例如App\Http\Middleware\SetLocaleAccordingToX

B) 修改现有中间件以同时更改语言环境。您会在基本配置文件中注意到,所有管理页面App\Http\Middleware\CheckIfAdmin也都通过中间件(出于授权目的)。你可以在里面设置本地CheckIfAdmin

就我个人而言,我认为选项 A 更简洁 - 一个中间件,您可以在面向前端和面向管理员的页面中重复使用(如果这是您的用例)。


推荐阅读