$_SERVER[\'HTTP_ACCEPT_LANGUAGE\'];
по которому можно попробовать определить язык, хотя не у всех он проставлен правильно.. По IP определять IMHO безполезно, так как провайдер может иметь IP не той страны, где находится пользователь.. И также надо всегда оставлять пользователю возможность выбора и запоминания языка, например в куке, как это сделанно в google.