Hola Danny, estoy totalmente de acuerdo con Germán... Tienes estas
opciones:
1.) Manipular el Core. No recomendable (supongo que incluso puedes
perder cambios en caso de actualizar las librerías de Symfony)
2.) Puedes poner un mensaje por defecto en tu plantilla AcmeBundle/
Resources/view/login.html.twig:
{% if error %}
<div id='error' class='error'>Validación errónea</div>
{% endif %}
No aprovechas la información que te envía el core.
3.) Hacer la traducción. Es sencillo, sigue los siguientes pasos:
3.a) Debes poner en tu plantilla de login ( AcmeBundle/Resources/view/
login.html.twig), algo como:
{% if error %}
<div id='error' class='error'>{{ error.message | trans}}</div>
{% endif %}
3.b) Debes crear un catalogo de traducción del inglés al español en tu
Bundle ( AcmeBundle/Resources/translations/messages.es.xliff)
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext"
original="file.ext">
<body>
<trans-unit id="1">
<source>The presented password cannot be empty.</
source>
<target>El campo contraseña no puede estar vacío.</
target>
</trans-unit>
<trans-unit id="2">
<source>Bad credentials</source>
<target>Validación errónea</target>
</trans-unit>
<trans-unit id="3">
<source>The presented password is invalid.</source>
<target>La contraseña introducida no es válida.</
target>
</trans-unit>
</body>
</file>
</xliff>
3.c) Da de alta el servicio de traducción. Añade en el app/config/
config.yml lo siguiente:
framework:
translator: { fallback: %locale% }
Mi locale en parameters.ini es el siguiente:
locale=es
Suerte, y espero haber podido ayudarte.
@neftali_af
On Apr 2, 9:47 pm, German Macas <
gerod...@hotmail.com> wrote:
> Hay dos formas de hacerlo, entrando al core de symfony, donde se genera el mensaje de error o por traducciones, para el caso de formulario de login,
> la recomendable es hacerlo por traduccion
>
> Date: Mon, 2 Apr 2012 12:44:49 -0700
> From:
dannyfilth2...@gmail.com
> To:
symfo...@googlegroups.com
> Subject: Re: [symfony-es] personalizar los mensajes de error del formulario login
>
> Hola y gracias por responder, en realidad no trato de traducir, sino de customizar! ya que todavía no he tocado el capitulo de traducciones en mi guía de aprendizaje, lo que quiero hacer es algo similar a lo que hago en el modelo de los usuarios donde tipifico el mensaje de error en la validación del campo:
> en Sitio\UsuarioBundle\Entity\Usuaio.php
> /** * @var string $password * * @ORM\Column(name="password", type="string", length=255) * @Assert\MinLength(limit = 6, message = "La contraseña debe tener 6 caracteres") * */ private $password;
> pero como el form de login no lo construyo yo sino el firewall no tengo "o no se como hacerlo" modificar los mensajes de error
>
> On Monday, April 2, 2012 3:02:42 PM UTC-4:30, Gerod006 wrote:
>
> Que tal,
>
> Aqui hay documentación en español para las traducciones, espero que te sirva:
>
>
http://gitnacho.github.com/symfony-docs-es/book/translation.html
>
> Att.
> Germán Macas
> @gerod006
>
> Date: Sun, 1 Apr 2012 18:54:47 -0700
> From:
dannyfilth2...@gmail.com
> To:
symfo...@googlegroups.com
> Subject: [symfony-es] personalizar los mensajes de error del formulario login
>
> Hola, quisiera cambiar los mensajes de error del login de symfony 2, pero en ningún tutorial me dicen como hacerlo!
> security: firewalls: frontend: pattern: ^/ anonymous: ~ form_login: login_path: /usuario/login/ check_path: /usuario/login_check/ logout: path: /usuario/logout/ target: / remember_me: key: sitio123 lifetime: 3600 access_control: - { path: ^/usuario/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/usuario/registro, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/usuario/*, roles: ROLE_USUARIO }
>
> providers: usuarios: entity: { class: Sitio\UsuarioBundle\Entity\Usuario, property: email }
> encoders: Sitio\UsuarioBundle\Entity\Usuario: { algorithm: sha512, iterations:10 }
> no hay manera de tipificar los mensajes de error? siempre sale el mismo "Bad credentials"
>
> --
>
> Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
>
> Para publicar en este grupo, envía un email a
symfo...@googlegroups.com
>
> El resto de opciones puedes encontrarlas enhttp://
groups.google.com/group/symfony-es?hl=es