CakePHP многоязычный + маршрут - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть два языка, чтобы пользователь мог выбирать / переключать: en или fr

я хочу URL-адрес как:

  • xxx.com / ru / -> языком по умолчанию является en

  • xxx.com / ru / stock / stockName1 / -> динамическая страница на языке EN, похожая на xxx.com/stock.php?lang=en&stockid=123

  • xxx.com / fr / stock / stockName1 / -> динамическая страница на языке FR

Мне не нужно печенье.

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

Как правильно сделать маршрут URL ??

Я протестировал следующий учебник, он отлично работает:

http://bakery.cakephp.org/articles/p0windah/2007/09/12/p28n-the-top-to-bottom-persistent-internationalization-tutorial

Но язык не отображается в URL. Кто-нибудь может помочь с этим?

Спасибо.

1 Ответ

1 голос
/ 05 апреля 2011

Я хочу разделить две языковые папки для всех файлов, кроме изображений.
Ответ
В CakePHP по умолчанию задан язык, так что любой пользователь может поместить много языков, и для этого нам нужно создать diff.folders для этого. И если вы не хотите этого делать, то во всех файлах вы можете указать конкретный тег, чтобы указать, является ли он "eng" или "fr". Например: en_abc.ctp, fr_abc.ctp.

Как правильно сделать маршрут URL ??
Ответ:
По умолчанию укажите "en" в вашем URL, и если что-то изменится, сделайте это с помощью "fr" и извлеките данные из xml.

Router::connect('/en', array('controller' => 'users', 'action' => 'index/en'));
Router::connect('/fr', array('controller' => 'users', 'action' => 'index/fr'));

а также в индексной функции вы можете проверить переменную, которая передается, если приходит «en», тогда взять все данные с английского, а если «Fr», то взять все с французского Я надеюсь, что это помогает ..

...