Symfony2 Use la configuración regional predeterminada en el enrutamiento (una URL para un idioma)
Actualmente estoy desarrollando un sitio web con Symfony2 y necesito traducirlo. Con las herramientas proporcionadas por Symfony2 es muy fácil. Pero me encuentro con un problema:
Me gustaría tener una URL específica (con prefijo) para un idioma (es decir, una URL, un solo idioma), pero con un idioma predeterminado. Concretamente:
Suponga que el idioma predeterminado es el inglés, entonces
http://example.com/fr/hello
mostrar la página en francéshttp://example.com/it/hello
mostrar la página en italianohttp://example.com/en/hello
redirigir ahttp://example.com/hello
(porque en es el idioma predeterminado)http://example.com/hello
mostrar, por supuesto, la página en inglés (idioma predeterminado)Intento ingenuamente configurar mi enrutamiento de esta manera:
#routing.yml
_welcome:
pattern: /{_locale}/hello
defaults: { _controller: AcmeDemoBundle:Welcome:hello, _locale: en}
Pero eso no funciona (http://example.com/en/hello
solo muestra la página en inglés yhttp://example.com/hello
devolver error 404).
Es posible, por supuesto, crear dos rutas cada vez, pero es muy tedioso. Entonces estoy buscando una solución limpia.
Por cierto, noté que el comportamiento que estaba buscando con la URL era exactamente el adoptado por la documentación oficial de Symfony2:
http://symfony.com/fr/doc/current/book/translation.html
mostrar traducción al francés
http://symfony.com/it/doc/current/book/translation.html
mostrar traducción al italiano
http://symfony.com/en/doc/current/book/translation.html
redirigir ahttp://symfony.com/doc/current/book/translation.html
(que muestra la página en inglés)