【发布时间】:2014-10-13 15:05:48
【问题描述】:
我找到了一种向我的 Symfony 路由添加语言环境的简单方法,如下所述:Locale switch in login of FOSUserBundle
我项目中的一些相关设置:
配置
framework:
translator: { fallback: "%locale%" }
default_locale: nl
服务
fosmailer: @fos_user.mailer.twig_swift
路由
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /{_locale}/registreren
我正在尝试让 FOSUser 以新创建的用户浏览器语言发送确认邮件。
为此,我将 javascript 找到的定位保存在我的数据库中。 然后,我将我的请求设置为该语言环境并手动发送确认邮件,如下所示:
$request->setLocale($locale); //($locale = 'en_US')
$mailer = $this->get('fosmailer');
$mailer->sendConfirmationEmailMessage($user);
我的电子邮件模板包含一堆{{ 'foobar' | trans}} 标签,它们工作得很好。但我也在使用由 FOSUser 生成的{{confirmationUrl}}。
在英文邮件中,此确认 URL 仍将显示为:
/nl/registreren/confirm/1234..
任何想法为什么我的邮件已本地化但我的 url 不是?
【问题讨论】:
标签: symfony fosuserbundle