symfony 4 services
cómo establecer la traducción del enrutamiento según la anotación? (2)
Todo el enrutamiento de mi sitio web se realiza en base a las anotaciones. Ahora, quiero traducir mi enrutamiento. Para darme cuenta de eso, traté de usar el paquete JMSI18nRoutingBundle .
Sin embargo, la documentación no da ningún ejemplo de cómo especificar la ruta para cada localidad.
Esta es una acción con su enrutamiento, ¿cómo traducirlo?
/**
* @Route("/welcome", name="welcome")
* @Template()
*/
public function welcomeAction() {
return array();
}
Gracias,
Pregunta después de ser editado
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Route("/willkommen", name="welcome", defaults={"_locale" = "de"})
* @Template()
*/
public function welcomeAction() {
return array();
}
Ahora, qué está sucediendo con estas nuevas anotaciones:
la ruta seleccionada es siempre la última que es
/willkommen
(si cambia el orden de las rutas, la ruta seleccionada sigue siendo la última)el
_locale
se establece como la configuración regional de la última ruta que ''de'' según la anotación anterior.
Entonces, ¿alguna propuesta? Gracias...
Puede agregar anotaciones de ruta múltiples.
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Template()
*/
Encontré la solución. Solo tienes que configurar ejecutar el siguiente comando
traducción de php app / console: extraer fr --bundle = MinnTestBundle --enable-extractor = jms_i18n_routing --output-format = yml
Luego, se minn/TestBundle/Ressources/translations/routes.fr.yml
. Personaliza tu ruta de traducciones ¡y eso es todo!
Espero que ayude a otros ...