services symfony routing annotations translation

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:

  1. la ruta seleccionada es siempre la última que es /willkommen (si cambia el orden de las rutas, la ruta seleccionada sigue siendo la última)

  2. 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 ...