You can get language information from a browser with:
$this->input->server('HTTP_ACCEPT_LANGUAGE');
Mine returns en-US,en;q=0.8
so you will need to do some parsing to translate that into something useful to you.
But then you can set the language which CI uses to load language files with
$config['language'] = 'english';
where 'english' is the name of the folder in your application/languages
folder which contains your language files.
You can do those things anywhere before your code runs. I'd recommend making a application/libraries/MY_Lang.php
(application/core/MY_Lang.php in 2.0) and putting it in the constructor, cos then its always loaded before you use a language file.
Lastly should read this. But basically you retrieve a line from your language file with:
$this->lang->line('language_key');