Каков наилучший способ реализации многоязычной маршрутизации Symfony 4? - PullRequest
0 голосов
/ 15 ноября 2018

Я занимаюсь разработкой веб-сайта на основе компонентов Symfony 4 (а не всей платформы).Интересно, каковы лучшие практики для реализации многоязычной маршрутизации с Symfony 4. В нынешнем виде я использую реализацию PHP-маршрутизации следующим образом:

$routes->add('product_show', new Routing\Route('/{_locale}/{shop_slug}/{product_slug}',
    array(
        '_controller' => 'product_controller::show'
    ),
    array(
        '_locale' => implode("|", array('en', 'fr', 'de')),
        'shop_slug' => implode("|", array('shop', 'boutique', 'geschaft', 'winkel'))
    )
));

Но пока работа выполняетсяне позволяет мне специально связать shop_slug 'shop' с локалью 'en'.Все следующие URL-адреса действительны для этой маршрутизации (замените ... на любой product_slug):

  • / en / shop / ... -> success
  • / en / geschaft/ ... -> успех
  • / ru / boutique / ... -> успех
  • / de / shop / ... -> успех
  • / de /geschaft / ... -> success
  • / de / boutique / ... -> success
  • и т. д ...

Я бы хотел соответствоватьследует:

  • / ru / shop / ... -> success
  • / de / geschaft / ... -> success
  • / fr / boutique /... -> успех
  • / ru / geschaft / ... -> 404
  • / fr / geschaft / ... -> 404
  • / en / boutique/ ... -> 404
  • и т. Д.

Возможно ли это с маршрутизацией или я должен самостоятельно аннулировать неправильные комбинации в контроллере?

...