Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ilex01's avatar
Level 5

Translation doesn't work

My text stays in English and is not translated in French, even when I go to: http://127.0.0.1:8000/?lang=fr

https://i.gyazo.com/c6e7e11139ab3d640473112a8e3521e0.png https://i.gyazo.com/8fb8505e7a347a4ef9b70aac9f2f1c09.png

0 likes
7 replies
OussamaMater's avatar

Yea buddy it won't just work. You need to set the app local to french, and then you will see it.

App::setLocale('fr');

You can do this in a middleware.

ilex01's avatar
Level 5

@OussamaMater

When I go to http://127.0.0.1:8000/fr, it's still not translated.

Here is my routes:

In web.php:

// Route pour rediriger vers une langue spécifique
Route::get('/', function () {
    // Vérifie si une langue est stockée dans la session
    $locale = Session::get('locale', 'en'); // 'en' par défaut si aucune session n'est trouvée

    // Redirige vers l'URL avec le préfixe de langue approprié
    return redirect()->route('home', ['lang' => $locale]);
});

// Groupement des routes par préfixe de langue
Route::group(['prefix' => '{lang}'], function () {
    Route::get('/', function ($lang) {
        // Vérifie si la langue est valide
        if (in_array($lang, ['en', 'fr'])) {
            // Définit la langue de l'application
            App::setLocale($lang);

            // Optionnellement, stocke la langue dans la session
            Session::put('locale', $lang);
        }

        // Charge votre page d'accueil ou une autre route
        return view('welcome');
    })->name('home');
});
ilex01's avatar
Level 5

It works now.

I had to set: {{ __('messages.Members') }} instead of: {{ __('Members') }}

JussiMannisto's avatar

That's the old directory structure. Translations go under /lang, not /resources/lang.

Please or to participate in this conversation.