Symfony 4.3 Prod上错误的翻译器语言环境

时间:2019-07-11 08:10:24

标签: php symfony symfony4

我已经将Web应用程序从Symfony 4.1更新到4.3,并且出现了奇怪的错误。在dev env上时,翻译器正常工作-它具有通过请求语言环境设置的语言环境。但是当我切换到prod env时,无论请求的语言环境如何,翻译器始终具有默认语言环境(请参见随附的图像)。

根据documentation,请求的语言环境由订阅事件“ onKernelRequest”确定,优先级高于“ LocaleListener”,请参见debug:

#8 App\EventSubscriber\LocaleSubscriber::onKernelRequest() 20
#9 ApiPlatform\Core\Filter\QueryParameterValidateListener::onKernelRequest() 16        
#10 Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest() 16  

您能建议一些要检查的东西吗?使用4.1,它可以正常工作。

这不是缓存问题,我已经尝试过使用clear:cache和删除缓存文件夹内容来清除高速缓存。我也在本地主机和远程服务器上尝试过此操作,其行为始终相同(使用已清除的缓存)。

DEV ENV PROD ENV

转换器的语言环境应在dev和prod env中均由请求的语言环境设置。但这仅适用于开发环境。

1 个答案:

答案 0 :(得分:1)

尝试在翻译器中强制使用本地语言:

App\EventSubscriber\LocaleSubscriber::onKernelRequest
$translator->setLocale($locale);