BeeSection BeeSection

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

Порядок выбора языка на сайте и на страницах записи: выбор человека, потом регион, потом язык браузера. Почему регион стоит выше браузера и как мы его узнаём.

BeeSection · · 2 мин чтения
Читать на другом языке: Українська English

Посетитель из Киева с русскоязычной системой открывает beesection.com. Какой язык он должен увидеть? Ответ на этот вопрос не так очевиден, как кажется, и у нас он менялся.

Порядок

Язык первой загрузки определяется в таком порядке, и он одинаков для сайта, CRM и страниц записи:

Порядок выбора языка

  1. Явный выбор человека. Переключили язык в шапке — он запоминается в cookie на год, и никакие умолчания его не перебивают.
  2. Посетитель из Украины получает украинский. Независимо от языка браузера.
  3. Иначе — язык браузера, если он среди поддерживаемых: украинский, русский, английский.
  4. Иначе — язык по умолчанию, украинский.

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

Откуда мы знаем регион

Весь трафик идёт через Cloudflare, и он добавляет к каждому запросу заголовок со страной посетителя. Мы читаем его на сервере. Значения «неизвестно» и «Tor» страной не считаются: тогда работает третий шаг.

В приложении, которое загружается в браузере, спросить сервер до первого рендера поздно, поэтому там регион определяется по часовому поясу устройства: пояс «Киев» означает Украину.

Адрес тоже несёт язык

На сайте язык стоит в адресе: /uk/…, /ru/…, /en/…. Адрес без языка открывается по правилам выше, а адрес с языком открывает именно этот язык и запоминает выбор. Поэтому ссылка, которую вы пересылаете коллеге, откроется у него на том же языке, что и у вас.

Для поисковиков каждая языковая версия — отдельная страница со ссылками на две другие, поэтому Google показывает украинцу украинскую версию, а не случайную.

Почему не просто язык браузера

Язык браузера — это язык интерфейса устройства, и он часто не совпадает с языком, на котором человек хочет читать. Телефон, купленный с русским интерфейсом и ни разу не перенастроенный, есть у половины страны. Регион в этом смысле надёжнее: человек в Украине почти всегда читает на украинском, а если нет — переключит один раз, и мы запомним.

Статья помогла?

Похожие статьи

Как это устроено: почему два администратора не посадят двух клиентов на одно время
Как это устроено

Как это устроено: почему два администратора не посадят двух клиентов на одно время

Проверка «время свободно» и сохранение записи — два разных действия, и между ними успевает пролезть вторая запись. Как блокировка на уровне базы закрывает эту щель для CRM, онлайн-записи и календаря сразу.

· 2 мин чтения
Как это устроено: адрес страницы записи и почему мы не подсказываем свободные
Как это устроено

Как это устроено: адрес страницы записи и почему мы не подсказываем свободные

Почему адрес страницы записи выбирает человек, а не система, какие слова зарезервированы, почему проверка отвечает только «да» или «нет» и почему адрес нельзя изменить.

· 3 мин чтения

Комментарии

Комментариев пока нет. Задайте вопрос — отвечаем в течение суток.

Оставить комментарий

Почта не публикуется. Она нужна только чтобы вам ответить.