ну... Для гостей ессно на сессиях, там делов то одну переменную в сессию записать. А для пользователей нужно в базе в таблице юзверей столбец выделить и туда идентификатор записывать. Проверка простая, если в сессии или в базе идентификатора нету, то выдавать дефолтный языковой файл