php – Symfony2电子邮件主题翻译.命令和控制器之间的区别
发布时间:2020-12-13 16:55:08 所属栏目:PHP教程 来源:网络整理
导读:我今天遇到了翻译symfony的问题. 由SwiftMailer发送,电子邮件是在个人服务中创建的. 案例1:在Controller中调用函数sendWelcomeEmailMessage,只是在注册新用户时,trans键’registration.email.welcome.subject’被很好地翻译 情况2:在symfony2命令中调用函
我今天遇到了翻译symfony的问题.
由SwiftMailer发送,电子邮件是在个人服务中创建的. 案例1:在Controller中调用函数sendWelcomeEmailMessage,只是在注册新用户时,trans键’registration.email.welcome.subject’被很好地翻译 情况2:在symfony2命令中调用函数sendReflationEmailMessage,但是在这里,键’registration.email.welcome.subject'(测试的相同键)未被翻译… 有人有想法吗? /** * @param UserInterface $user */ public function sendWelcomeEmailMessage(UserInterface $user) { $params = $this->parameters['registration']['welcome']; $rendered = $this->templating->render( $params['template'],[ 'user' => $user ] ); $subject = $this->translator->trans('registration.email.welcome.subject'); $this->sendEmailMessage($rendered,$subject,$params['from_email'],$user->getEmail()); } /** * @param UserInterface $user */ public function sendReflationEmailMessage(UserInterface $user) { $params = $this->parameters['registration']['reflation']; $rendered = $this->templating->render( $params['template'],[ 'user' => $user ] ); $subject = $this->translator->trans('registration.email.welcome.subject'); // Same trans key,only for test $this->sendEmailMessage($rendered,$user->getEmail()); } 解决方法
您的命令不处理config.yml,然后它没有关于您当前语言环境的信息.您需要明确设置它:
/** * @param UserInterface $user */ public function sendReflationEmailMessage(UserInterface $user) { $params = $this->parameters['registration']['reflation']; $rendered = $this->templating->render( $params['template'],[ 'user' => $user ] ); $this->translator->setLocale("en_EN"); $subject = $this->translator->trans('registration.email.welcome.subject'); // Same trans key,$user->getEmail()); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |