FOSUser邮件已翻译但确认_url不是

时间:2014-10-13 15:05:48

标签: symfony fosuserbundle

我找到了一种向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}}

在英文邮件中,此确认网址仍会显示为:

/nl/registreren/confirm/1234..

为什么我的邮件已本地化,但我的网址不是?

1 个答案:

答案 0 :(得分:0)

URL地址未翻译,因为URL地址的本地化不是标准Symfony2安装的一部分。

为了本地化URL地址,您需要使用一些解决此问题的捆绑包,例如BeSimpleI18nRoutingBundle,或者您可以创建自己的解决方案。