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)

Respuestas a la pregunta(1)

Su respuesta a la pregunta