Support the ongoing development of Laravel.io →
posted 10 years ago
Configuration
Last updated 1 year ago.
0

this may not be the complete solution but you can do something like this:

class HomeController extends BaseController {

	public function postChangeLanguage() 
	{
		$rules = [
		'language' => 'in:en,fr' //list of supported languages of your application.
		];
		
		$language = Input::get('lang'); //lang is name of form select field.
		
		$validator = Validator::make(compact($language),$rules);
			
		if($validator->passes())
		{
                        Session::put('language',$language);
			App::setLocale($language);
		}
		else
		{/**/ }
	}
}

and you can create a form like this:

{{ Form::open(['action' => 'HomeController@postChangeLanguage']) }}
	{{Form::select('lang',['en'=>'en','fr'=>'fr'],$lang,['onchange'=>'submit()'])}}
{{ Form::close()}}

and in your App before filter

App::before(function($request)
{
   $language = Session::get('language','en'); //en will be the default language.
   App::setLocale($language);
});
Last updated 1 year ago.
0
App::setlocale($language);

This is only set for the current request - you will need to save the setting in a session and assign every page load (for example in global.php)

Last updated 1 year ago.
0

I was just editing my reply @martinhearn :)

Last updated 1 year ago.
0

Hallo @usm4n, thank you, i will try it...
Hallo @martinhearn, i muss put button select language, thank you

Last updated 1 year ago.
0

:) @usm4n

although perhaps better to retrieve the default language from the config rather than hardcode:

$language = Session::get('language',Config::get('app.locale'));
Last updated 1 year ago.
0

@martinhearn yes sure, you are right :)

Last updated 1 year ago.
0

Thanks man, its working perfect.

Last updated 1 year ago.
0

it's not clear

0

I know it's late but have you tried https://github.com/ied3vil/LanguageSwitcher ?

0

Sign in to participate in this thread!

Eventy

Your banner here too?

wiyono wiyono Joined 3 Feb 2014

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2024 Laravel.io - All rights reserved.