Рекомендуемый способ перевода ошибок аутентификации в symfony2 - PullRequest
0 голосов
/ 15 января 2012

Мне нужно отобразить, например, сообщение «Неверные учетные данные» на другом языке. До сих пор я обнаружил, что это исключение в
\vendor\symfony\src\Symfony\Component\Security\Core\Authentication\Provider\UserAuthenticationProvider.php
authenticate функция как
throw new BadCredentialsException('Bad credentials', 0, $notFound);

Мне интересно, каков будет рекомендуемый способ показа этого сообщения на другом языке. Изменение строки в этом месте кажется неоптимальным ... Также есть другие сообщения, которые могут отображаться во время аутентификации.

Я использую JMSSecurityExtraBundle и FOSUserBundle, и я думаю, что может быть какая-то встроенная функциональность, чтобы справиться с этим ...?

1 Ответ

4 голосов
/ 15 января 2012
  1. Переопределить шаблон входа в систему: копировать FOSUserBundle / Resources / views / Security / login.html.twig в app / Resources / views / Security / login.html.twig (см. документ , видео )

  2. Добавить trans фильтр к ошибка переменная в файле login.html.twig (см. doc ):

    {{error | trans}}

  3. В вашем файле перевода src / YourBundlePath / Resources / translations / messages. {locale} .yml add:

    Неверные учетные данные: Ваш текст ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...