Llevo unos días trasteando laravel 5 y la verdad es que este fmk me encanta!
Me acabo de encallar en el siguiente tema...
La idea es que quiero dar soporte multilenguaje a mi aplicación .. pero no solo el contenido sino también me gustaría que las url's también cambiaran ...
Para ello en la carpeta lang he creado un archivo de traducciones de ruta.
---lang
-----es
------rutas.php
-----en
------rutas.php
route.php -> es
Código PHP:
Ver original
return [ 'inicio' => '/inicio', 'interesados' => '/interesados', 'inmuebles' => '/inmuebles', 'propietarios' => '/propietarios', ];
route.php -> en
Código PHP:
Ver original
return [ 'inicio' => '/start', 'interesados' => '/interested', 'inmuebles' => '/estates', 'propietarios' => '/owners', ];
Luego el enrutador tengo un controller preparado que recibe el idioma y la ruta que quiero traducir :
Código PHP:
Route::get('lang/{lang}/{ruta}',['uses' => 'LenguajeController@get']);
Código PHP:
Route::get('/inicio', ['middleware' => 'auth', 'uses' => 'HomeController@index']);
Route::get('/start', ['middleware' => 'auth', 'uses' => 'HomeController@index']);
Código PHP:
class LenguajeController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function get($lang,$url)
{
if (Auth::user())
{
App::setLocale($lang);
return redirect(trans('rutas.'.$url));
}
}
}
El cambio de locale lo hace bién dentro del controller pero al redirigir a
/start me sigue saliendo el idioma por defecto.. es .
Solo cambia el idioma si no hago redirección .. pero entonces no puedo cambiar la url al idioma seleccionado ...