我想使用Twig模板系统来为我的电子邮件进行模板化。电子邮件的语言环境应基于用户设置,而不是会话或请求语言环境。在渲染Twig模板时如何强制指定语言环境?
手册确实提到了如何强制Translator的语言环境。但我想将此语言环境传递给render()方法,以便在此语言环境下呈现Twig模板中的翻译。
这与在模板中使用into不同,因为我认为这会强制在特定语言环境中翻译模板内的内容。
因此,以Symfony的示例为基础,我正在寻找类似以下代码的解决方案:
手册确实提到了如何强制Translator的语言环境。但我想将此语言环境传递给render()方法,以便在此语言环境下呈现Twig模板中的翻译。
这与在模板中使用into不同,因为我认为这会强制在特定语言环境中翻译模板内的内容。
因此,以Symfony的示例为基础,我正在寻找类似以下代码的解决方案:
public function indexAction($name)
{
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('send@example.com')
->setTo('recipient@example.com')
->setBody(
$this->renderView(
'HelloBundle:Hello:email.txt.twig',
array('name' => $name),
'nl_NL' // <-- This would be nice!
)
)
;
$this->get('mailer')->send($message);
return $this->render(...);
}