@whitefreelancer

Как сделать так, чтобы язык на сайте показывался в зависимости от региона?

Сам сайт - https://bonushash.com
Стоит на WordPress
Плагин который стоит Polylong
3 языка.

Хочу чтобы в зависимости от региона показывался язык автоматически без переключателя. Пока не нашел вариантов. Помогите пожалуйста
  • Вопрос задан
  • 550 просмотров
Пригласить эксперта
Ответы на вопрос 4
по идее, браузер сам в HTTP заголовке Accept-Language сообщает о предпочтительных языках.

Не имел дела с этим плагином, но цепочка принятия решения о языке должна быть примерно такой:
if (браузер передал заголовок Accept-Language?) {
  if (один из перечисленных языков поддерживается сайтом?) {
    использовать этот язык
  } else {
    использовать язык-сайта-по-умолчанию
} else {
  использовать язык-сайта-по-умолчанию
}
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
смотрите вам нужно добавить в тему файл прокси
Который делает запрос по адресу https://www.reg.ru/misc/geoip_lookup
далее разобрать этот json
вас интерсует вот это
"country":{"en":"Russia","ru":"Россия","iso_code":"RU"}

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

UPD снежинки нажаловались на мой коммент, так что добавлю.
Итак я вообще считаю автовыбор языка и региона злом. Обьясню почему.
Я много бываю в разных локациях и с разными странами. Поэтому открывая страницу на иврите я бываю несколько удивлен, или на испанском.
Это первый кейс.
Второй это Vpn на мобильном, где явно говорят о том что нужно сменить еще и интерфейс системы.
Так что вот этот заголовок считаю просто пережитком прошлого, когда люди не слишком были мобильными.

Наилучший вариант это делать ваш сайт с дефолтным языком для вашей аудитории и предусмотреть возможность сохранения смены языка
Ответ написан
@As56
GeoIp
Ответ написан
Комментировать
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Есть плагин Geolocation IP Detection, судя по описанию вы можете получить информацию по IP пользователя с помощью функции geoip_detect2_get_info_from_current_ip(), разобрать полученный результат и сделать редирект на подходящую языковую версию
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы