Tengo unos mensajes flash, para avisar cuando se ha hecho un cambio en la base de datos:
$this->get('session')->getFlashBag()->set('success', array( 'title' => $this->get('translator')->trans('flash.title.order'), 'message' => $this->get('translator')->trans('flash.message.order', array('%entidad%' => $edit)) ));
Y aquí tengo las traducciones:
flash: title: save: Se ha guardado correctamente. edit: Se ha editado correctamente. delete: Se ha borrado correctamente. status: Se ha cambiado el estatus correctamente. order: Se ha cambiado el orden correctamente. newBooking: Se ha creado correctamente la resreva message: save: La %entidad% ha sido creada. edit: La %entidad% ha sido editada. delete: La %entidad% ha sido borrada. status: El estado de %entidad% ha sido creado. order: El orden de la %entidad% ha sido cambiado. newBooking: El codigo de su reserva es: %entidad%. Se han enviado los datos a su email: %email%. newmessage: Su mensaje ha sido eviado newsletter: Se ha suscrito a la newsletter
Las traducciones están la carpeta correcta (AppBundle\Resources\Translations
) porque el resto de traducciones me funciona correctamente.
He probado a borrar la caché y nada.
Saludos
Respuestas
Buenas, puedes colocar el código que has implementado para mostrar esos mensajes?
@manuel_j555
<div class="col-md-8 alerta"> {% for type, flashMessage in app.session.flashbag.all() %} <div class="alert alert-{{ type }} fade in"> <a data-dismiss="alert" class="pull-right" href="" type="button"> <i class="fa fa-times"></i> </a> {% if flashMessage.title is defined %} <strong>{{ flashMessage.title }}</strong><br> {{ flashMessage.message }} {% endif %} </div> {% endfor %} </div>
@TsubasaAkai
¿Cuál es el resultado que ves en el navegador?
- Ves la clave del mensaje en vez de su contenido (ejemplo:
flash.title.order
) - Ves el mensaje bien, pero no en español.
- Ves el mensaje en español, pero mal formado (por ejemplo no se muestra el nombre de la entidad sino la cadena
%entidad%
).
@javiereguiluz
Perdón, me olvide de comentarlo: veo
flash.editar.titulo flash.editar.mensaje
@TsubasaAkai
Recuerdo que alguna vez me ha pasado lo mismo. Si los comandos cache:clear
y cache:warmup
no funcionan, te aconsejo que borres la caché "a lo bruto" destruyendo el contenido del directorio app/cache/*
.
Por otra parte, alguna vez también me ha pasado que el archivo de traducción no tenía el nombre correcto. Fíjate en el nombre del locale y su extensión y compáralo con los demás archivos que dices que sí que te funcionan bien.
@javiereguiluz
Ya lo solucioné. Comenté todo lo que tenia y a continuacion lo volví a escribir debajo y ya me los cogió.
Cuando tenga algo más de tiempo ya lo investigaré con más calma.
@TsubasaAkai