【问题标题】:Recommended way of translating authentication errors in symfony2在 symfony2 中翻译认证错误的推荐方法
【发布时间】:2012-01-14 22:34:57
【问题描述】:

例如,我需要以另一种语言显示“凭据错误”消息。 到目前为止,我发现它在
\vendor\symfony\src\Symfony\Component\Security\Core\Authentication\Provider\UserAuthenticationProvider.php
authenticate function as
throw new BadCredentialsException('Bad credentials', 0, $notFound);

中作为异常抛出

我想知道用另一种语言显示此消息的推荐方式是什么。只是在这个地方更改字符串似乎不是最佳选择...... 还有其他可能在身份验证期间显示的消息。

我正在使用JMSSecurityExtraBundleFOSUserBundle,我想可能有一些内置功能可以处理这个...?

【问题讨论】:

    标签: authentication internationalization symfony


    【解决方案1】:
    1. 覆盖登录模板:将 FOSUserBundle/Resources/views/Security/login.html.twig 复制到 app/Resources/views/Security/login.html.twig强>(见docvideo

    2. trans 过滤器添加到 login.html.twig 中的 error 变量(参见 doc):

      {{ 错误|翻译 }}

    3. 在您的翻译文件 src/YourBundlePath/Resources/translations/messages.{locale}.yml 中添加:

      错误的凭据:您的错误文本

    【讨论】:

    • 太好了,谢谢。我只需要清除开发缓存即可使其生效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 2011-04-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多