cakephp выбор языка по URL - PullRequest
       10

cakephp выбор языка по URL

1 голос
/ 29 декабря 2010

то, что я пытаюсь достичь, описано здесь http://nuts -and-bolts-of-cakephp.com / 2008/11/28 / cakephp-url-based-переключение языков для i18n-and -l10n-интернационализация и локализация / но я не могу заставить его работать.

Конфигурации маршрутизатора выглядят так:

Router::connect('/registered/:language/:controller/:action/*',
 array('prefix' => 'registered', 'registered' => true, 'layout'=> 'registered'),
 array('language' => '[a-z]{3}'));

но когда я пытаюсь перейти на www.example.com/registered/cze/packages, я получаю:

Error: CzeController could not be found.

В качестве автора я использую торт 1.3, а не 1.2, в этом может быть проблема, но что мне нужно изменить, чтобы это работало?

Edit:

$this->Session->write('Config.language','cze');

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

1 Ответ

1 голос
/ 29 декабря 2010

URL www.example.com/registered/cze/packages не соответствует маршруту /registered/:language/:controller/:action/*, так как сегмент :action пуст. Следовательно, URL переходит к стандартному маршруту, где registered распознается как префикс, а cze как контроллер.

Вам также потребуется создать «более короткий» маршрут /registered/:language/:controller, чтобы перехватывать «сокращенные» URL.

...