Главная / Проекты / Технократия

Локализация маркетплейса со сложными требованиями к языкам

November 2022

С 2015 года IT-компания «Технократия» помогает крупному бизнесу создавать мобильные приложения, веб-сервисы, которые способствуют росту, развитию и повышению прибыльности компаний. Как и мы, «Технократия» разрабатывает цифровые сервисы для различных отраслей, включая финтех, электронную коммерцию и т.д.

Нас пригласили участвовать в разработке подпроекта для клиента «Технократии» — крупного и популярного маркетплейса, который можно смело назвать альтернативой таким виртуальным торговым площадкам, как Ozon и Aliexpress. Маркетплейс предоставляет продавцам возможность продавать товары через свою платформу и организовывать их доставку.

Команда «Технократии» обратилась в Evrone, чтобы мы помогли локализовать сервис для Узбекистана, эту работу выделили в отдельный подпроект. Требовалось адаптировать уже имеющийся сервис к потребностям жителей Узбекистана, учитывая языки, цены, валюту, поставщиков и так далее.

Задачи проекта

Go-разработчики из Evrone работали вместе с сильной и слаженной командой проекта над бэкендом поиска. Создание локальной поисковой системы e-commerce критически важно для маркетплейсов — она обеспечивает не только поиск самого товара, но и поисковые предложения, определение подходящих категорий, ранжирование и сбор аналитики по поисковым запросам. Основные задачи, которые мы решали:

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

Локализация маркетплейса

Мы работали над сервисом, который предоставляет поисковые индексы для продуктов, категорий, предложений и заказов. Индексы создаются с помощью Elasticsearch.

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

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

Во-вторых, потребовалось локализовать наименования товаров. Изначально в базе данных проекта хранились только русские наименования. Но при обработке этих рубрик для индексов или при обработке поискового запроса применялись правила как для русского, так и для английского языка, поскольку в русском тексте могут встретиться английские слова, набранные латиницей. Теперь сервис показывает заголовки на двух или даже на трех языках.

Еще одна сложность при локализации контента e-commerce — узбекский текст может писаться как латиницей, так и кириллицей. Поэтому в поисковом индексе мы сначала разделили эти поля на две части, сделали двойные поля. Затем подключили два словаря (узбекский словарь на латинице и узбекский словарь на кириллице), чтобы преобразовать слова в стандартную форму. Это позволяет правильно обработать запрос, в каком бы варианте его ни ввели.

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

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

Например, нужно иметь возможность найти по слову Apple продукты компании Apple, а не яблоки. Также важно обеспечить одинаковую трактовку слова как в поисковом запросе, так и в названии продукта. Для этого существуют таблицы синонимов, которые можно периодически редактировать. Также можно оценить результаты изменений с помощью инструментов веб-аналитики для e-commerce, чтобы узнать, какие изменения оптимизировали поиск, а какие — ухудшили результаты поисковых запросов. Файлы синонимов требуется постоянно обновлять.

Ранее в проекте не было системы, позволяющей одновременно использовать и автоматически обновлять такой файл на всех серверах и виртуальных машинах, обрабатывающих данные. Мы разработали такую систему, подключив виртуальный диск через облачное хранилище S3. Это позволило организовать хранение синонимов в одной копии, которая видна всем использующим ее службам.

Стек технологий

  • Микросервисы, написанные на Go;
  • PostgreSQL, которая используется в качестве базы данных продуктов, категорий и других изменяемых сущностей;
  • Kafka — для обмена данными;
  • Debezium — для захвата изменений в базах данных и отправки в Kafka;
  • Инструменты автоматизации и развертывания: Helm, Terragrunt, Terraform, CircleCI и Drone для CI/CD;
  • Настройки передаются через переменные окружения (а не ConfigMap);
  • Kubernetes и облачное хранилище S3.

Опора на open-source

Когда нам понадобились словари для локального поиска по ключевым словам, чтобы сократить и нормализовать слова на узбекском языке, нам нужно было либо найти готовое решение, либо написать собственное. Мы нашли прекрасное решение на Github, но с ним была загвоздка: английская версия словаря подключилась сразу, но при подключении русской каждый раз происходил сбой.

Мы определили, в чем заключалась проблема и как исправить файл, затем отправили в проект pull request. Он был принят, и теперь всё работает нормально.

Заключение

На последних этапах проекта мы помогали определить, насколько удачно всё получилось — вели локализационное тестирование через фронтенд и через специальные механизмы, позволяющие бомбардировать точки доступа запросами и сравнивать результаты.

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

 

Спасибо команде Evrone за то, что помогли быстро предоставить специалистов под сложные задачи крупного проекта. Разработчики из Evrone отлично влились в нашу команду, вся коммуникация и работа прошла гладко
Марта Стрюкова
менеджер по ресурсам, Технократия
Будем на связи
Прикрепить файл
Максимальный размер файла: 2 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.