Symfony2 Использовать локаль по умолчанию в маршрутизации (один URL для одного языка)

В настоящее время я разрабатываю веб-сайт с Symfony2, и мне нужно перевести его. С инструментами Symfony2 это очень просто. Но я сталкиваюсь с проблемой:

Я хотел бы иметь определенный URL (с префиксом) для языка (то есть один URL, один язык), но с языком по умолчанию. В частности:

Предположим, что языком по умолчанию является английский, поэтому

http://example.com/fr/hello показать страницу по-французскиhttp://example.com/it/hello показать страницу по-итальянскиhttp://example.com/en/hello перенаправить наhttp://example.com/hello (потому что en является языком по умолчанию)http://example.com/hello отображение конечно страницы на английском языке (язык по умолчанию)

Я наивно пытаюсь настроить мою маршрутизацию следующим образом:

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

Но это не работает (http://example.com/en/hello просто отобразить страницу на английском иhttp://example.com/hello вернуть ошибку 404).

Можно, конечно, каждый раз создавать два маршрута, но это очень утомительно. Поэтому я ищу чистое решение.

Между прочим, я заметил, что поведение, которое я искал с URL, было именно тем, которое было принято в официальной документации Symfony2:

http://symfony.com/fr/doc/current/book/translation.html показать французскую традукцию

http://symfony.com/it/doc/current/book/translation.html показать итальянский traduction

http://symfony.com/en/doc/current/book/translation.html перенаправить наhttp://symfony.com/doc/current/book/translation.html (которые отображают страницу на английском языке)

Ответы на вопрос(1)

Ваш ответ на вопрос