Определение языка по IP я не делал по нескольким причинам.
1) Хорошая база со странами - платная.
2) В соответствие с международной конвенцией по правам человека, я имею право передвигаться где угодно, жить где угодно. При этом, у меня есть свой родной язык, именно на нем я и работаю в браузере.
К примеру, я работаю на Русском, вдруг приехал в коммандировку в баку и решил посмотреть свой сайт. И тут вдруг БАЦ, он выдает мне язык Азербайджанский, хотя браузер у меня Русский.
Одно время Гугл тоже автоматом ставил язык по стране, но потом они это быстро убрали, ибо неправильно. Язык нужно ставить ТОЛЬКО ПО БРАУЗЕРУ.