Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

253
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda