流明无法改变语言环境

I have an almost fresh installation of Lumen.

I have a POST route which leads to one Controller. In the request I send lang parameter with a string value.

public function form(Request $request)
{
    if ($request->has('lang')) {
        app('config')->set('app.locale', $request->input('lang'));
    }
    return view('form');
}

I have one folder more in my /resources/lang/ folder called bg. In this folder I have simple file which has an array just like in resources/lang/en/validation.php - called static.php.

In the view I'm displaying I have few lines that say:

<input type="text" name="email" value="" class="input-default" placeholder="{{trans('static.enter_email')}}"/>

The text I've set in those lang files in resources/lang/... are properly displayed, but I cannot change the locale before displaying the form.

For example, if in my dotenv file I set:

APP_LOCALE=en

And load the view the strings in resources/lang/en/static.php are loaded. If I change the APP_LOCALE to bg and load the view again, I get the strings from resources/lang/bg/static.php.

All I want is to set the locale before rendering the view, which doesn't seem to work with the code (in my controller) I provided above.

Also I couldn't find any information about localization in Lumen on the official site, but I suppose it supports such, since trans() is working.

You are changing the config after it is loaded, which has no effect. To change the locale at runtime use the setLocale() method on the app instance:

app()->setLocale($request->input('lang'));

Edit

The first answer seem to only work on Laravel. To change the locale at runtime with Lumen use this:

app('translator')->setLocale($request->input('lang'));