Я пытаюсь интернационализировать все страницы на моем сайте CakePHP в следующем формате:
- / о / о
- / ж / о (для китайской версии)
- и т.д.
У меня уже есть все маршруты, определенные в router.php, например.
Router::connect('/about/*', array('controller' => 'pages', 'action' => 'about'));
Router::connect('/login/*', array('controller' => 'users', 'action' => 'login'));
// etc...
Как мне сделать так, чтобы / language / prefix автоматически применялся ко всем Router :: connect () s?
В файле router.php библиотеки CakePHP приведен пример для подобной маршрутизации, который приведен в следующем виде:
Router::connect('/:lang/:controller/:action/:id',
array(), array('id' => '[0-9]+', 'lang' => '[a-z]{2}'));
Это, однако, работает только для типа маршрутизации по умолчанию (например, / pages / about /), а не специально определенного типа, такого как / about для моего примера.
Другими словами, он будет работать, когда пользователь посещает / zh / pages / about, но не работает, когда пользователь посещает / zh / about
Есть предложения или мне нужно вручную переписать все мои Router :: connect (), чтобы включить lang?