【问题标题】:FOSUser mail is translated but confirmation_url isn'tFOSUser 邮件已翻译,但确认 URL 未翻译
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多