nunca habia visto algo asi:
pero por lo visto lo que hace es ignorar las 2 letras de idioma seguidas del punto, luego la clase de lenguaje, "lee" las 2 primeras letras y usa el lenguaje de acuerdo a eso.
crear y leer una cookie es muy fácil.
http://ellislab.com/codeigniter/user...ie_helper.html
los links de cambio de idioma puedes hacerlos en un controller especial para cambiar de idioma, de manera que llames a
www.misitio.com/language/es, en ese controller seteas la cookie. Luego en el MY_COntroller (investiga acerca de MY_Controller es muy fácil) en el constructor lees si la cookie existe cambias el idioma. Y si todos los controllers heredan de MY_Controller eso es todo ya anda para todo el sitio