我在位置messages.en.yml
上有一个名为<My-Bundle>/Resources/translations
文件的翻译文件,如下所示:
company:
messages:
schedule:
success: Schedule saved successfully
failed: Something went wrong on saving schedule
现在我需要在此处按键调用此消息:
$this->get('session')->getFlashBag()->add(
'success',
'%company.messages.schedule.success%'
);
我尝试了很多方法,但无法解决这个问题。
答案 0 :(得分:1)
不幸的是,不可能来翻译闪存包中的密钥翻译......
您可以使用依赖项
创建自定义服务然后在将消息添加到flashBag之前自己执行翻译
{{1}}
有点令人失望,不是吗?
答案 1 :(得分:0)
试试这个
$this->get('session')->getFlashBag()->add(
'success',
$this->get('translator')->trans('company.messages.schedule.success')
);
另外,需要在配置中启用:
framework:
default_locale: 'en'
translator:
fallbacks: ['en']
查看官方文档:Symfony Basic Translation