当用户在 Symfony 中更改语言环境时更新用户会话
Posted
技术标签:
【中文标题】当用户在 Symfony 中更改语言环境时更新用户会话【英文标题】:update user session when user change locale in Symfony 【发布时间】:2021-09-27 02:22:47 【问题描述】:在我的 Symfony 4.4 应用程序中,我创建了 UserLocaleSubscriber
,它可以正常工作,但是当用户更改您的语言环境时,必须注销并登录才能更改翻译语言。我尝试使用EqutableInterface
在不注销用户的情况下更新用户会话。
public function isEqualTo(UserInterface $user)
if ($user instanceof self)
if ($user->getLocale() != $this->locale)
return false;
return true;
但是当我更改用户区域设置时,我必须注销并登录才能使用新的区域设置。是否有任何选项可以在不注销的情况下更改语言?
【问题讨论】:
【参考方案1】:您根本不需要注销,只需重定向到 /en 或 /es 取决于您的语言和路由。
【讨论】:
以上是关于当用户在 Symfony 中更改语言环境时更新用户会话的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2、Sonata、UserBundle:当用户启用更新时发送电子邮件