Автоматическое изменение языка сайта после определения страны пользователя

Главные вкладки

Аватар пользователя Tinnka Tinnka 22 февраля 2017 в 9:14

Сайт на Drupal7 на 3х языках: Русский-по умолчанию, Английский, Китайский.

Цель: После захода посетителя (в т.ч. не авторизованного) на сайт, автоматически определить его страну и если это Россия, автоматический переключить сайт на русский, если Китай - на китайский, для всех остальных на английский.

Сейчас для определения страны сайта используется модуль ip2country (может быть любой другой, не принципиально).

Подскажите как решить вопрос?

Комментарии

Аватар пользователя dgastudio dgastudio 22 февраля 2017 в 9:30

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

сделал шрифт меньше

Аватар пользователя Tinnka Tinnka 22 февраля 2017 в 9:48

dgastudio wrote:

по личному опыту, никогда не решайте за юзера

оптимальное решение, это определения языка на уровне браузера, а не на уровне локации
сделал шрифт меньше


Спасибо за ответ, попробую предложить заказчику этот вариант.
И если позволите, дополнительный вопрос.

Сайт, это интернет магазин, где для всех товаров будет указываться куда товар может быть доставлен (только 3 варианта): Россия, Китай, Европа.
Соответственно нужно при показе товаров отфильтровать их по стране пользователя, чтобы не получилось так что пользователь из России оплатит товар доставка которого осуществляется только в Китае.

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

Аватар пользователя gun_dose gun_dose 22 февраля 2017 в 9:58

А как же Беларусь, Казахстан, Украина? И что если пользователь в опере включит режим "турбо"? Определение страны по айпи - затея не совсем надёжная. После определения региона нужно как минимум уведомить об этом пользователя и предложить переопределить вручную, если регион определён неверно. А чтобы пользователь из России не оплатил товар, доставляемый только в Китай, необходимо проводить валидацию на стадии оформления заказа.

Аватар пользователя Tinnka Tinnka 22 февраля 2017 в 10:17

И все таки, подскажите если кто то знает, модуль ip2country определяет страну, как добраться до этого значения при настройке views?

Аватар пользователя Tinnka Tinnka 22 февраля 2017 в 10:31

dgastudio wrote:

никак, у этого модуля нет поддержки views. только если писать свой handler


Спасибо. Вы могли бы это сделать за оговоренную сумму?

Аватар пользователя Van'Denis Van'Denis 23 февраля 2017 в 9:39
1

Вообще-то там есть "фишка" определения языка по браузеру. admin/config/regional/language/configure
Determine the language from the browser's language settings.
http://drupal.ru/files/field/comment_node_blog/bez_imeni-1.jpg
В зависимсти от языка браузера, пользователю будет предоставлена подходящая версия.
З.Ы. "это сугубо перевод контента." - неправильное пояснение. Контент/содержание сайта этот модель не переводит.

Аватар пользователя kolyuchy.org kolyuchy.org 23 февраля 2017 в 9:28
1

В языковых настройках включите определение языка по настройкам языка в браузере. По умолчанию поставьте английский язык. И будет Вам счастье.

Аватар пользователя Tinnka Tinnka 23 февраля 2017 в 9:48

dgastudio wrote:

эта "фишка" вообще идет по умолчнию в друпале

http://c2n.me/3HOg6WZ.jpg


Да, я знаю. Но изначальное требование было " После захода посетителя (в т.ч. не авторизованного) на сайт, автоматически определить его страну (по IP) и если это Россия, автоматический переключить сайт на русский, если Китай - на китайский, для всех остальных на английский.". К счастью с помощью всех прокомментировавших этот пост удалось изменить это требование.

Аватар пользователя dgastudio dgastudio 23 февраля 2017 в 9:51

я вам уже ответил, никогда не считайте себя умнее юзеров и не принимайте решение за них. В идеале, попап "ваша страна такая то, переключить?". но, переключать жестко.... я поеду в китай по работе и вы меня ВСЕГДА будет на китайскую версию будете редиректить, угадайте мою реакцию?

Аватар пользователя Tinnka Tinnka 23 февраля 2017 в 10:03

dgastudio wrote:

я вам уже ответил, никогда не считайте себя умнее юзеров и не принимайте решение за них. В идеале, попап "ваша страна такая то, переключить?". но, переключать жестко.... я поеду в китай по работе и вы меня ВСЕГДА будет на китайскую версию будете редиректить, угадайте мою реакцию?


Вы абсолютно правы. Поэтому в результате сделали как вы порекомендовали. Правда вопрос о том как во вьюс добраться до определенной по IP страны пользователя остался открытым (