Как перевести маршруты в Ларавеле?

Основываясь на этом вопрос Я пытаюсь перевести маршруты в Laravel 4.2 на английский и испанский.

Это мой код app / rout.php:

<?php/*Set up locale and locale_prefix if other language is selected*/
if (in_array(Request::segment(1), Config::get('app.web_config.alt_langs'))) {

App::setLocale(Request::segment(1));
Config::set('app.web_config.locale_prefix', Request::segment(1));
}foreach(Lang::get('routes') as $k => $v) {
Route::pattern($k, $v);
}

Route::group(array('prefix' => Config::get('app.web_config.locale_prefix')), function()
{
Route::get('/{revelar_fotos}/',['as' => 'revelado_online', 'uses' => 'WebController@reveladoOnline'], function(){
return 'pages.revelado_online'.App::getLocale();
});

});

При нажатии на ссылку я получаю эту ошибку в URL:

http://mywebsite.dev/%7Brevelar_fotos%7D

Вместо:

http://mywebsite.dev/photograph-development

Это мой en / rout.php:

<?php

return array(

'revelar_fotos' => 'photograph-development',
);

А это мой es / rout.php:

<?php

return array(

'revelar_fotos' => 'revelado-online',
);

Почему я вернул эту ошибку?

5

Решение

Я понимаю, что у вас проблема с генерацией URL http://mywebsite.dev/%7Brevelar_fotos%7D

В этом вопросе вы только описали, как вы настроили обработку маршрутизации, и это может сработать. Однако создание самой ссылки выполняется где-то еще, и там вы не сделали замены.

Вы должны генерировать ссылку примерно так

URL::to(trans("revelar_fotos"));

trans("revelar_fotos") даст вам правильный путь и URL::to() генерирует полную ссылку.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]