Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Problemas con I18n en un formulario de inicio de sesión

14 de marzo de 2016

¡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

#1

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

14 marzo 2016, 15:02
#2

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

14 marzo 2016, 15:10
#3

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

14 marzo 2016, 20:02
#4

¡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

16 marzo 2016, 9:59