¡Buenas, gentes!
Lo primero agradecer a @javiereguiluz su labor en la divulgación de los proyectos de SensioLabs como Symfony y Silex, así como culturilla general sobre herramientas y frameworks de desarrollo web para usar en nuestros proyectos. ¡Eres un grande!
Ahora… Al turrón. En mi afán por aprender un framework cada año, he decidido mirar Symfony y estoy empezando a dar los primeros pasos, esto es, con un formulario básico para iniciar sesión. Esa parte la terminé sin problema pero me he topado con que, en caso de introducir unas credenciales equivocadas, el mensaje que obtengo está en inglés y he intentado traducirlo pero no termino de dar con la tecla. Os pongo aquí mis archivos a ver si me arrojáis algo de luz en este asunto:
<!-- /app/Resources/views/security/login.html.twig -->
{{ error.message|trans }}
# /app/Resources/translations/security.es.yml Bad credentials.: "Credenciales no válidas."
# /app/config/config.yml ... parameters: locale: es ...
El resultado que obtengo es Bad credentials.
en lugar de Credenciales no válidas.
¿Alguna pista?
Respuestas
Yo lo he probado traduciéndolo con un archivo XLIFF y funciona bien. ¿Quizás es por el punto del final del mensaje original? Los puntos son un poco especiales en los archivos YAML de traducción. Prueba a cambiarlo por:
"Bad credentials.": "Credenciales no válidas."
(¡y gracias por lo que dices al principio de tu mensaje!)
@javiereguiluz
He quitado el punto y sigue igual, @javiereguiluz.
Pero aquí creo que hay algo raro, porque si en el html
pongo esto {{ error.messageKey|trans }}
el mensaje que me muestra es Invalid credentials.
… No sé si tiene algo que ver o si me falta algo que configurar o yo qué sé… x'D
@kerunaru
Buenas, descomentaste la configuración de traducciones en el config.yml
?
framework: translator: { fallbacks: ["%locale%"] } # Esta linea debe estar descomentada
Si está comentada, no se activa el traductor del framework. Saludos!
@manuel_j555
¡Eso era, @manuel_j555!
También he tenido que cambiar esto:
<!-- /app/Resources/views/security/login.html.twig --> {{ error.message|trans({}, 'security') }}
Muchas gracias.
@kerunaru