Как получить информацию о регионе / стране в веб-приложении? - PullRequest
3 голосов
/ 03 февраля 2010

Моя главная цель - показать разные страницы людям разных стран (языков).Я думаю, что это должно быть основано на регионе / стране пользователя, которую, я думаю, можно извлечь из ip-адреса?

пример: * Для людей из страны EN, они увидят это.www.example.com

* Для японцев они отправят на это.www.example.com/jp

Также я видел, как некоторые люди говорили, что для достижения этой цели лучший способ основан на языке веб-браузера, который можно получить из заголовка http.Я не знаю, что лучше, каков общий путь и почему ..?

Спасибо за советы!

Я использую Flex и Java.

Ответы [ 3 ]

5 голосов
/ 03 февраля 2010

Zolo, вы можете использовать что-то вроде базы данных geoip от maxmind, чтобы легко находить регион / страну / провинцию по IP-адресам, но у нее есть несколько недостатков:

  • VPN и кэши могут выдавать ложные значения
  • Пользователь не может легко переопределить его.

Использование браузера Accept: заголовки обычно предпочтительнее, потому что говорящий по-испански в США может установить свои языковые настройки, чтобы получить «es» вместо «en», даже если их IP получит их «en».

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

  1. Выраженные пользовательские предпочтения, щелкнув значок флага на сайте, сохраненный в сеансе или cookie
  2. TLD домена, с .com ничего не значащим (например, mycompany.jp получает ваш японский сайт, но mycomany.com не голосует и переходит на следующий уровень
  3. Настройка языка браузера из заголовка подтверждения
  4. GeoIP, лучшее предположение
  5. Откат на английский

Цель, конечно, состоит в том, чтобы основывать выбор на вещах, которые наиболее точно отражают предпочтения пользователя.

2 голосов
/ 03 февраля 2010

Выяснение языка выбора для пользователя веб-приложения ...

хитрое дело!

См. связанный SO вопрос или также этот .

Еще один полезный совет - использовать ключевое слово GeoLocation, хотя поиск местоположения и языка на выбор - две связанные, но различные проблемы.
Например, если геолокация указывает на центр Женевы, французский язык может быть предпочтительным языком, но немецкий, английский и некоторые другие языки почти так же вероятны.

Я получил следующие URL из вышеупомянутых вопросов SO:

Бесплатные услуги геолокации IP

Коммерческие услуги геолокации IP

Для идентификации языка (а не местоположения) удобно и обычно более точно использовать значение " accept-language " заголовка HTTP, но это также может вводить в заблуждение. Хотя у кого-то может быть установлена ​​браузер на японском языке, он может предпочесть чтение на английском ...

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

2 голосов
/ 03 февраля 2010

IP2Location предлагает несколько различных способов получения этой информации (у них есть данные, необходимые для поиска IP-адреса). Это включает в себя веб-сервис, который стоит 49 долларов в год, или вы можете купить данные непосредственно у них по той же цене.

...