![]() |
Как определить страну посетителя?
Задача такая: при заходе на сайт надо определить странц посетителя и выдать ему страницу на соотвествующем языке. Языка три - русский, немецкий и английский.
То есть допустим если он из России - то на русском, из Германии - на немецком, всем остальным - на английском. Не подскажет ли кто-либо соотвествующий код на PHP или Perl? |
|
Есть еще PHP скрипт IP2Country - определяет страну посетителя по его IP. http://www.lugarus.com/modules.php?n...print&sid=4489
|
Для начала советую спросить у админа своего сервака не стоит ли там гео-ип и не могут ли поставить, если не стоит. Проблем меньше будет, заодно получишь грамотную косультацию по этому вопросу.
|
А я б для начала уточнил что собсно нужно - страна или язык? Ну допустим Швейцария и что дальше? Если надо определить только язык - никакие базы и обслуживающие их скрипты не требуются
|
А если я из израиля ? но русский то я знаю? Так что лучше дать юзеру определять какой язык ему надо...
|
Цитата:
Кстати, опредедение языка на самом деле было бы лучше. я об этом как раз изначально думал. Но вот вопрос, насколько это осуществимо... |
mod_geoip это модуль от www.maxmind.com
есть ещё наш: mod_geo (ftp://ftp.lexa.ru/pub/apache-rus/con...o-2.0.1.tar.gz) |
Цитата:
|
Грубо говоря как-то так
PHP: Код:
if(stristr($HTTP_ACCEPT_LANGUAGE,"ru")) {header("Location: http://rambler.ru");}Код:
$lang = lc($ENV{'HTTP_ACCEPT_LANGUAGE'});Код:
if(document.all)lng=navigator.browserLanguage |
Ну насчет броузера, понятно... ничего тут военного нет, ну у меня к примеру стоит английский, но сайты на русском читаю, если есть возможность, нахожусь на територии СНГ... то почему мне английскую страницу нужно показывать?
Я считаю, что гео-айпи можно вполне поставить и без админа, собственно говоря, в свой движок я встроил его. Очень юзабильно получилось. Все данные хранятся в таблице (MYSQL). Делаеш выборку по айпи - получаешь язык. База его лежит здесь: http://www.maxmind.com/download/geoi...CountryCSV.zip Флаги лежат здесь: http://www.maxmind.com/download/geoip/database/flag.zip Тянешь файл: geo.dat В нем будет нечто такое: Код:
"2.6.190.56","2.6.190.63","33996344","33996351","GB","United Kingdom"Код:
CREATE TABLE `geoip` (Код:
if (file_exists($filename))Но я решил использовать базу... мне так показалось надежнее... чем файловая операция с 5-метровым файлом... Удачи! |
Цитата:
Геотаргеттинг нужен совсем для другого - напр реклама привязанная к географии (провайдеры, риэлтеры итд), верификация разного рода итд. А определение языка - совсем др тема :) |
Цитата:
ЦИТИРУЮ!!! ВНИМАНИЕ!!! Цитата:
|
Уважаемый apoc прочтите топик внимательнее, задача уже изменилась:
Цитата:
|
| Часовой пояс GMT +4, время: 18:45. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.