Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

259
Vistas
¿Cómo crear un cambio de idioma en Laravel?

Tengo un problema para construir un conmutador de traducción, esto es lo que ya hice:

Paso 1 : He prefijado todas las rutas con el parámetro local {languge}

 Route::redirect('/', '/en'); Route::group(['prefix' => '{language}'], function () { //products routes Route::get('/', 'ProductController@index' )->name('acceuil'); Route::get('/boutique/{slug}', 'ProductController@show' )->name('product.show'); Route::get('/search', 'ProductController@search' )->name('product.search'); });

paso 2 : luego creé un middleware para configurar el idioma de la aplicación según la solicitud

 public function handle($request, Closure $next) { App::setLocale($request->language); return $next($request); }

paso 3 : aquí agregué el parámetro Locale {languge} a Todos los enlaces existentes, así:

 <form method="POST" action="{{ route('register', app()->getLocale()) }}">

aquí todo está bien pero:

aquí quiero crear un conmutador de idioma, esto es lo que hice:

paso 4 : aquí agregué el parámetro Locale {languge} a Todos los enlaces existentes, así:

 <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ _('language') }}<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="{{ route( Route::currentRouteName(), 'fr' ) }}">{{ _('Francais') }}</a></li> <li role="separator" class="divider"></li> <li><a href="{{ route( Route::currentRouteName(), 'en' ) }}">{{ _('anglais') }}</a></li> </ul> </li> </ul>

El problema es que tengo diferentes rutas, algunas requieren parámetros y luego el Paso 4 no funciona:

Algunas ideas ?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto parece funcionar para mí:

 {{ route(Route::currentRouteName(), array_merge(['fr'], array_slice(($rp = Route::current()->parameters()), 1, count($rp)))) }}

Primero necesitamos array_slice el idioma antiguo de los parámetros, luego podemos fusionarlos con el nuevo idioma. Dado que fusionamos el idioma con los parámetros actuales, el orden siempre nos dará el idioma primero y el orden posterior de los parámetros actuales.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda