Язык сайта: используйте локаль браузера или IP-адрес - PullRequest
7 голосов
/ 17 июня 2009

Для веб-сайта мы собираемся внедрить автоматический выбор страны / языка, но при этом предоставить пользователю возможность изменить его.

Прежде всего, если пользователь заходит на веб-сайт, используя домен с TLD на уровне страны, ему будет предоставлен правильный язык по умолчанию. Но вопрос в том, какой должна быть логика, если они приходят из общего / международного TLD, такого как .com. Если мы предпочитаем использовать страну, которую мы получаем через их IP-адрес, или мы должны использовать их язык браузера? Если оба, в какой последовательности?

Как таковой, я думал об этой иерархии:

  1. Используйте Выбор пользователя, если он был изменен ранее. Если он никогда не был установлен пользователем явно:
  2. Использовать имя хоста TLD. Если это универсальный (.com):
  3. Использовать локаль браузера. Если языковой стандарт не задан или соответствующая языковая версия не доступна для этого языкового стандарта:
  4. Использовать IP-адрес. Если соответствующая языковая версия недоступна для обнаруженной страны:
  5. Используйте английский.

Спасибо!

Ответы [ 8 ]

15 голосов
/ 17 июня 2009

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

8 голосов
/ 17 июня 2009

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

4 голосов
/ 17 июня 2009

локаль браузера должна быть перед ip адресом,

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

4 голосов
/ 17 июня 2009

Поскольку в большинстве стран есть несколько официальных языков, вы должны полагаться сначала на пользовательские настройки, а затем на локаль браузера, TLD, IP и затем на английский в качестве значения по умолчанию (или на любой основной язык вашей основной пользовательской базы)

1 голос
/ 25 июля 2009

Слушайте, ребята, я не уверен, где вы, ребята, сейчас я живу в Финляндии, и позвольте мне сказать вам, что ОДИН ИЗ НАИБОЛЕВШИХСЯ ВЕЩЕЙ ДОЛЖЕН БЫТЬ, когда IP-адрес используется для выбора языка. Это абсолютно все портит, я дергаю себя за волосы, особенно все, что связано с Google, на самом деле, я просто не могу использовать Blogger вообще, поэтому, если у вас есть какое-либо влияние на это, ПОЖАЛУЙСТА !!!!!

1 голос
/ 17 июня 2009

Сопоставление IP-адресов потребует (дорогой) базы данных поиска гео / ip, обязательств и инфраструктуры для ее поддержки, имеет серьезные проблемы с блочными IP-адресами и, в конечном счете, даже не дает нужной вам информации, поскольку ее нет. соотношение 1: 1 между страной и языком (официально: Канада или неофициально: Соединенные Штаты), даже не близко.

Я предпочитаю, чтобы предпочтение cookie снижалось до TLD / субдомена (или локальных настроек, где TLD не зависит от языка).

0 голосов
/ 17 июня 2009

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

Я получаю много рекламы для предприятий, базирующихся в Сан-Диего, хотя я нахожусь в Новая Зеландия, потому что я использую веб-прокси там.

0 голосов
/ 17 июня 2009

Лично я просто выбрал бы язык вашей основной аудитории на целевой странице, которая является просто страницей выбора языка, и пользователь должен выбрать язык, чтобы продолжить. Это устанавливает cookie так, чтобы в следующий раз, когда пользователь заходил (из того же браузера на том же компьютере), он перенаправлял сайт на нужный язык.

У меня есть несколько причин для этого.

  1. Код проще - не нужно проверять диапазоны IP-адресов, локали браузера и т. Д. Чем меньше код, тем меньше ошибок.
  2. Вы не предполагаете ничего о пользователе. Например, это может быть американец, использующий в Японии машину, настроенную на немецкий язык.
  3. Это, вероятно, будет правильно:)
...