Roteamento Cakephp 3 com parâmetro de idioma

Estou tentando converter cakephp 2.x para 3.x. Eu estava usandoRouter::connect() regras, mas tento convertê-las para a versão do escopo.

Em relação à regra de roteamento myold, emconfig/routes.php Eu adicionei isso.

  Router::defaultRouteClass('Route');
  Router::scope('/', function ($routes) {

    $routes->connect('/:language/:controller/:action/*', ['language' => 'ar|de|en|fr']);
    $routes->connect('/:language/:controller', ['action' => 'index', 'language' => 'ar|de|en|fr']);
    $routes->connect('/:language', ['controller' => 'Mydefault', 'action' => 'index', 'language' => 'ar|de|en|fr']);

    $routes->redirect('/gohere/*', ['controller' => 'Mycontroller', 'action' => 'myaction'], ['persist' => array('username')]);

    $routes->connect('/', ['controller' => 'Mydefault', 'action' => 'index']);

    $routes->fallbacks('InflectedRoute');
});
Mas isso falha emexample.com/en/works. Eu recebo este erro:Error: worksController could not be found. Porque meu arquivo de controlador éWorksController.php.

A parte do nome do controlador está pendurada na sentença caseína cakephp 3?http://book.cakephp.org/3.0/en/intro/conventions.html#controller-conventions

Além dissoexample.com/foo/bar dá este erro:Error: barController could not be found.. Masfoo é controlador ebar é ação.

Como posso corrigir esse problema de roteamento?

Editar:
MudandoRoute::defaultRouteClass('Route') paraRoute::defaultRouteClass('InflectedRoute') problema resolvido 1. Mas o problema 2 existe.

questionAnswers(3)

yourAnswerToTheQuestion