Symfony2 Use a localidade padrão no roteamento (uma URL para um idioma)

Atualmente, estou desenvolvendo um site com o Symfony2 e preciso traduzi-lo. Com as ferramentas fornecidas pelo Symfony2, é muito fácil. Mas encontro um problema:

Eu gostaria de ter um URL específico (com prefixo) para um idioma (ou seja, um URL, um único idioma), mas com um idioma padrão. Concretamente:

Suponha que o idioma padrão seja inglês, então

http://example.com/fr/hello exibir a página em francêshttp://example.com/it/hello exibir a página em italianohttp://example.com/en/hello redirecionar parahttp://example.com/hello (porque en é o idioma padrão)http://example.com/hello exibir, é claro, a página em inglês (idioma padrão)

Tento ingenuamente configurar meu roteamento assim:

#routing.yml
_welcome:
    pattern:  /{_locale}/hello
    defaults: { _controller: AcmeDemoBundle:Welcome:hello, _locale: en}

Mas isso não funciona (http://example.com/en/hello basta exibir a página em inglês ehttp://example.com/hello retornar erro 404).

É possível, é claro, criar duas rotas de cada vez, mas é muito tedioso. Então, estou procurando uma solução limpa.

Aliás, notei que o comportamento que eu estava procurando com a URL era exatamente o adotado pela documentação oficial do Symfony2:

http://symfony.com/fr/doc/current/book/translation.html Indicar a tradição francesa

http://symfony.com/it/doc/current/book/translation.html exibir tradição italiana

http://symfony.com/en/doc/current/book/translation.html redirecionar parahttp://symfony.com/doc/current/book/translation.html (que exibe a página em inglês)

questionAnswers(1)

yourAnswerToTheQuestion