J'ai essayé de localiser mon application, mais il semble que je manque quelque chose. Je n'ai aucune connaissance préalable à ce sujet et donc c'est assez difficile de commencer. Voici mon routes.phpLaravel 5 multi-langue ne fonctionne pas
Route::get('/lang/{lang}', '[email protected]');
Et voici mon LangController.php
public function index($lang)
{
$langs =['en', 'de'];
if(in_array($lang, $langs)){
Session:set('lang', $lang);
return Redirect::back();
}
}
Je réglerai middleware: (lang.php)
public function handle($request, Closure $next)
{
if($lang = Session::get('lang')){
\Lang::setLocale($lang);
}
return $next($request);
}
activer dans Http \ noyau .php:
protected $middleware = [
\App\Http\Middleware\Lang::class,
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
];
Dans mon blade.php
{{ Lang::get('home.hello')}}
CURRENT: {{ Lang::getLocale() }} <br /> <br />
<a href="{{ url('lang/de') }}">Germany</a> | <a href="{{ url('lang/en') }}">English</a>
S'il vous plaît help.I ne vois pas ce que je manque ... Dans le champ courant lorsque la presse Allemagne, il shoul être « de » et quand la presse anglaise, il shoul être « en » mais quand il presse l'Allemagne reste encore 'en' ... (par défaut est 'en' config/app.php -> 'locale' => 'en',)
J'ai essayé, mais il ne fonctionne toujours pas .... – pape
Quelle version Laravel utilisez-vous? 5,0, 5,1 ou 5,2? – Bogdan
J'utilise laravel 5.1 – pape