Set language after url route

What would be best solution if I want to set configuration language after Url Route execution?

My config file:


return array(

    ..............

    'sourceLanguage' => 'en_us',

    'language' => 'lv',

    ..............

'components'=>array(

	.............	


		'urlManager'=>array(

			'urlFormat'=>'path',

                        'showScriptName'=>false,

			'rules'=>array(

                            '<controller:\w+>/<id:\d+>'=>array('<controller>/view', 'defaultParams'=>array('lng'=>'lv')),

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>array('<controller>/<action>', 'defaultParams'=>array('lng'=>'lv')),

				'<controller:\w+>/<action:\w+>'=>array('<controller>/<action>', 'defaultParams'=>array('lng'=>'lv')),               

				'<lng:\w+>/<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<lng:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<lng:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',               

                                'gii'=>'gii',

			),

		),



In this situation language in configuration is ‘lv’, but if user open url /ru/site/index, I have to change language to ‘ru’, but detection of language happens in urlManager and I don’t understand how to change language after urlRoute execution.

Check my langhandler extension. Maybe you will find something useful in the code.