BeeSection BeeSection

Язык уведомлений: текст приходит на языке получателя

Уведомление пишет один человек, а читает другой — и перевести его нужно на язык читателя, а не автора. Как BeeSection определяет этот язык, зачем для этого два поля вместо одного и что значит «как по умолчанию».

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

Администратор работает по-русски, мастер — по-украински, а напоминание о задаче ставит крон, у которого языка нет вообще. Чей язык должен оказаться в уведомлении? Ответ один и он не про удобство: язык читателя.

Почему это вообще вопрос

Уведомление рождается в момент события. Его создаёт другой человек — тот, кто перенёс запись или назначил задачу, — или вовсе служба по расписанию. Читает его третий. Если текст собрать сразу, он приедет на языке автора: мастер, у которого весь кабинет украинский, получал «Оплата не прошла» посреди украинского интерфейса.

Поэтому в уведомление кладётся не готовая строка, а то, что ей предстоит стать: ключ и подстановки. Перевод происходит в последний момент — когда уже известно, кому именно это читать.

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

Язык получателя ищется лесенкой, по убыванию достоверности:

  1. Выбор человека в профиле. Если он есть — спорить не с чем.
  2. Язык, на котором человек работает. Интерфейс запоминает его сам: приложение сообщает серверу язык на каждом запросе, и это наблюдение сохраняется. До настроек профиля доходят единицы, а этот язык известен про каждого.
  3. Язык компании. Для крона это куда более верное умолчание, чем общее для всей системы: уведомление салона логично писать на языке салона.
  4. Язык приложения. Последняя ступень, и именно из неё когда-то брался русский текст в украинском кабинете.

Уведомление, у которого личного получателя нет — то, что адресовано всей компании, — переводится на язык компании. Это и есть второй случай, для которого нужна третья ступень.

Два поля вместо одного

Выбор человека и наблюдение за тем, на каком языке он работает, хранятся отдельно, и это не дублирование.

Пустое значение в выборе — это тоже ответ: «как по умолчанию». Человек не просил конкретный язык, он согласен с тем, что система решит сама. Если записать туда наблюдение, у этого ответа не останется смысла: отличить «я выбрал русский» от «я в тот вторник зашёл с русского браузера» будет нечем, а первое должно быть сильнее второго навсегда.

Поэтому наблюдение пишется в своё поле и только когда оно изменилось: язык приходит с каждым запросом, и запись «то же самое» означала бы обновление профиля на каждое обращение к приложению.

Как это выглядит на практике

Переключите язык в шапке приложения — и уведомления начнут приходить на нём же. Отдельно ничего настраивать не нужно: язык, на котором вы работаете, и есть ответ на вопрос «на каком языке вам писать».

Явный выбор языка уведомлений поддержан на стороне сервера и пока не вынесен в профиль отдельным переключателем. Когда он там появится, работать он будет так, как описано выше: выбранный язык сильнее наблюдения, а пустое значение означает «как по умолчанию» и возвращает лесенку к языку интерфейса.

Языки, на которых продукт разговаривает, — украинский, русский и английский. Значение вне этого списка игнорируется, то есть лесенка просто идёт на ступень ниже, а не отдаёт текст на незнакомом языке.

Что проверить, если язык всё-таки не тот

  • Посмотрите, на каком языке у вас интерфейс. Уведомление идёт за ним, а не за языком того, кто событие создал.
  • Проверьте язык компании в её настройках: он решает для уведомлений без личного получателя и для тех случаев, когда о человеке ничего не известно.
  • Строки, которые уже лежат в базе, задним числом не переводятся. Названия услуг, созданных стартовым набором, или текст, набранный руками, уведомление покажет так, как он записан. Переводится оболочка уведомления, а не содержимое вашего салона.
Статья помогла?

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

Уведомления CRM в Telegram: мастер узнаёт о записи, не открывая приложение
Команда и зарплаты

Уведомления CRM в Telegram: мастер узнаёт о записи, не открывая приложение

Администратор записывает клиента из дома, а мастер в кабинете узнаёт об этом, когда клиент уже стоит в дверях. Привяжите Telegram к своему аккаунту — новые записи, переносы и отмены придут в бот BeeSection за минуту.

· 3 мин чтения
Push-уведомления: что приходит на телефон, кому и как включить
Команда и зарплаты

Push-уведомления: что приходит на телефон, кому и как включить

Push — это третий канал уведомления, рядом с колокольчиком и обновлением экрана. Что именно приходит на телефон, как подписать устройство, как выбрать события, что такое тихие часы и почему уведомление могло не прийти.

· 5 мин чтения
Ресурсы и оборудование: кабинеты, кресла, аппараты
Команда и зарплаты

Ресурсы и оборудование: кабинеты, кресла, аппараты

Аппарат один, мастериц две, и обе свободны в 11:00. Календарь мастеров такого не покажет: там занят человек, а не вещь. Разбираем каталог ресурсов, автоматические брони под услугу, конфликты, простои и карту загрузки.

· 6 мин чтения

Комментарии

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

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

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