Проверка географического местоположения посетителя в приложении Django - PullRequest
0 голосов
/ 24 февраля 2010

Я делаю многоязычный веб-сайт Django. Я хочу, чтобы сайт проверял, из какой страны пользователь получает доступ к сайту, и в соответствии с этим решаю, какой язык использовать.

Что бы было хорошим инструментом для этого?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2010

Когда один из ваших постоянных пользователей путешествует со своим ноутбуком в другую страну и получает доступ к вашему сайту, он ничего не понимает и не может изменить язык, это было бы отстой.

Я бы не рекомендовал проверять страну (по IP, вероятно). Вместо этого перейдите к заголовку Accept-Language, который отправляет браузер клиента. Вы все равно должны оставить опцию, позволяющую пользователю менять язык вручную (и сохранить предпочтения в сеансе, например).

Другой вариант - использовать стиль википедии и установить язык по URL (en.example.com, de.example.com или example.com/en/, example.com/de/).

.
2 голосов
/ 08 марта 2010

У меня была похожая проблема на моем сайте, и я использовал в качестве модели бесплатную базу данных MaxMind IP, и она называется промежуточным ПО.

Таким образом, когда пользователь заходит на сайт, промежуточное ПО определяет его страну по его IP и перенаправляет его на нужный язык

1 голос
/ 24 февраля 2010

Существует несколько способов сделать это, но хорошим решением является использование пакета геотаргетинга. В зависимости от вашего бюджета, есть бесплатные и платные решения. Я использовал Digital Element (NetAcuity) для подобных вещей в прошлом, и их решения являются первоклассными. Они предоставляют как собственное серверное решение (для высокопроизводительных приложений. ~ 30 тыс. Запросов в секунду), так и решение для веб-служб для более типичных приложений. У них есть API на многих языках, включая Python, которые вы можете использовать в Django. Они позволят вам запрашивать такую ​​информацию, как географическое положение, основной и дополнительный язык, скорость соединения и т. Д., Все это зависит от IP-адреса пользователя. Гео-точность на уровне страны очень точна, исходя из моего опыта.

Бесплатное решение, которое также стоит рассмотреть, - это MaxMind, хотя я не настолько знаком с их продуктом.

...