Язык веб-сайта: используйте локаль браузера или IP-адрес

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

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

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

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

person Community    schedule 17.06.2009    source источник


Ответы (8)


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

person HeDinges    schedule 17.06.2009
comment
То есть вы говорите, что сначала следует использовать локаль браузера, а не TLD? Что, если вы установили английский язык в своем браузере, но заходите на веб-сайт через домен верхнего уровня .de? - person ; 17.06.2009
comment
Вот почему я бы не стал пытаться угадать пользователя. Просто предоставьте им страницу выбора языка и установите файл cookie. - person ChrisF; 17.06.2009
comment
Но ввод национального домена домена еще более специфичен, чем установка языкового стандарта браузера, не так ли? Потому что пользователь явно укажет страну для этого веб-сайта, а не общую локаль, установленную для его браузера. - person ; 17.06.2009
comment
@Tharuka, потому что TLD не дает информации о языке пользователя, например, «.be», но я могу говорить по-французски, по-голландски или по-немецки. - person HeDinges; 17.06.2009

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

person Sev    schedule 17.06.2009
comment
+1 Вы не представляете, сколько раз мне обслуживали японские страницы.... только потому, что я здесь живу. локаль (и даже определенные предпочтения на многих сайтах), кажется, ничего не значат для слишком многих сайтов. - person Jonathan Fingland; 17.06.2009

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

person François    schedule 17.06.2009

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

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

person tsidwick    schedule 17.06.2009

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

person Community    schedule 25.07.2009
comment
Я слышу тебя. То же самое. Использование только IP-адреса действительно не очень хорошо. Google (и другие веб-приложения) регулярно распознают как исходящие из Нидерландов, даже если я нахожусь в Австрии и хотя я установил в своем браузере австрийский язык. - person ; 04.08.2009

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

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

person annakata    schedule 17.06.2009
comment
Можете ли вы объяснить, почему вы хотите, чтобы настройки локали учитывались перед TLD? Вы явно ввели TLD, верно? - person ; 17.06.2009
comment
Знаешь что - просто спросил меня, что заставило меня передумать. Я думаю, вы правы, вход в TLD является более активным выбором. - person annakata; 17.06.2009

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

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

person Colin Coghill    schedule 17.06.2009

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

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

  1. Кодить проще — нет проверки диапазонов IP-адресов, локали браузера и т. д. Меньше кода — меньше ошибок.
  2. Вы ничего не предполагаете о пользователе. Например, это может быть американец, использующий машину, настроенную на немецкий язык в Японии.
  3. Скорее всего это правильно :)
person ChrisF    schedule 17.06.2009
comment
Мы не можем просто использовать английский язык, поскольку наша основная целевая аудитория говорит по-немецки. На главной странице сайта есть выбор страны. Речь идет о том, какой язык представлять по умолчанию. Пользователь всегда может переопределить настройку, сделав явный выбор. - person ; 17.06.2009
comment
Используйте немецкий язык на главной странице, если это ваша основная аудитория — я не вижу в этом проблемы. - person ChrisF; 17.06.2009