Cakephp 3 enrutamiento con parámetro de idioma

Estoy tratando de convertir cakephp 2.xa 3.x. Yo estaba usandoRouter::connect() reglas, pero trato de convertirlas a la versión de alcance.

Con respecto a la regla de enrutamiento myold, enconfig/routes.php Yo agregué esto.

  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');
});
Pero esto falla enexample.com/en/works. Me sale este error:Error: worksController could not be found. Porque mi archivo de controlador esWorksController.php.

¿Se colgó la parte del nombre del controlador para sentencia casein cakephp 3?http://book.cakephp.org/3.0/en/intro/conventions.html#controller-conventions

tambiénexample.com/foo/bar da este error:Error: barController could not be found.. Perofoo es controlador ybar es acción

¿Cómo puedo solucionar este problema de enrutamiento?

Editar:
CambiandoRoute::defaultRouteClass('Route') aRoute::defaultRouteClass('InflectedRoute') problema resuelto 1. Pero el problema 2 existe.

Respuestas a la pregunta(3)

Su respuesta a la pregunta