Как внедрить переводчик в мультинациональном проекте

в 11:51, , рубрики: Веб-разработка, дизайн, заказчики, общение, переводчик, управление проектами

«Сколько языков ты знаешь, столько раз ты живёшь». Гёте

Всем привет! Я работаю в команде проекта DesignContest, пару недель назад мы выложили новый релиз нашего сервиса. В этой версии мы исправили несколько важных пунктов: сайт стал быстрее, корректно работает на любых устройствах, имеет современный адаптивный дизайн. Еще мы дополнительно добавили защиту от взлома профилей технологией AES-256. Все это хорошо и нужно, но под понятие “суперфича” не подходят, т.к. должны быть у любого хорошего сервиса.
Суперфичей, которую мы действительно полюбили, стал переводчик, полностью внедренный в сайт. Как и зачем мы это сделали, а также о том, что мы придумали для экономии на запросах в переводчик — расскажу ниже.

ЗАЧЕМ?
DesignContest — площадка, на которой собираются дизайнеры и заказчики со всего мира. Заказчик публикует свой бриф, дизайнеры — рисуют варианты. Тот, чей вариант оказался самым лучшим по мнению заказчика — получает деньги, а заказчик — исходники.
Мы давно хотели сделать проект мультиязычным, открыть новые домены (например, .ru), и одна из первых проблем, с которой мы столкнулись на пути к вселенскому счастью — это проблема перевода. Перевести саму оболочку сайта легко и вполне очевидно, все это укладывается в стандартный функционал перевода фреймворка YII: оборачиваем все тексты в функцию перевода и готово, тем кто работал с Yii наверняка знакома эта структура папок:

image

Основные тексты на посадочных страницах часто меняются, как и контент на них — поэтому перевод этой части сделали через базу данных, добавляя записи в таблицу с пометкой, к какому языку они относятся. К примеру, вывод работ и отзывов в слайдер на английском сайте:

image

и то же самое на русском:

image

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

image

Но все это лирика. Главная проблема с которой мы столкнулись — как сделать общение между клиентом и дизайнером, которые говорят на разных языках, простым и понятным двум сторонам.
Дело в том, что у нас на сайте собираются заказчики и исполнители из России, Штатов, Испании, Франции, Канады, Бразилии и т.д.
Они говорят на разных языках и не всегда друг друга понимают.

  • Заказчику нужно написать бриф, ТЗ на дизайн того, что ему нужно. Понять вопросы от дизайнеров, ответить на них, прокомментировать работы.
  • Дизайнеру нужно понять, что написано в брифе, часто нужно уточнить какие-то детали по брифу, понять ответы заказчика, чтобы доработать макет.

Когда заказчик и дизайнер говорят на разных языках, процесс общения становится очень долгим и неудобным. Плюс от непонимания между клиентом и дизайнером страдает качество исполнения: клиент просит увеличить шрифты и добавить больше красного цвета, дизайнер не понимает этого и, соответственно, не делает. Чтобы им понять друг друга — нужна постоянно открытая рядом вкладка онлайн переводчика Яндекса, Гугла; нужно выделить нужный текст, скопировать его в новое окно браузера, перевести, вернуться обратно на вкладку с конкурсом… Пару раз так можно сделать, но общаться в таком формате точно неудобно, а зачем пользоваться неудобным сервисом?

Именно поэтому мы поначалу брали функцию переводчика на себя: переводили брифы клиентов из России на английский язык, чтобы все дизайнеры понимали, о чем речь, и могли присоединиться к конкурсу, помогали с комментированием работ. Но клиентов становится больше, загружать рабочий день переводами — не самая крутая идея. Поэтому мы приняли волевое решение внедрить переводчик прямо у себя на DesignContest, чтобы частично снять проблему общения заказчика и дизайнера из разных стран.

КАК?
Мы рассматривали следующие самые популярные варианты переводчиков:

  1. Bing (2 000 000 символов в месяц бесплатно)
  2. Google (бесплатной версии с 2011 года нет, платная: $20 за 1 000 000 символов)
  3. Yandex (бесплатно до 1 000 000 символов в сутки, но не более 10 000 000 символов в месяц)

Разные лимиты, разный интерфейс, удобство работы с сервисом. До драки не дошло, мирным путем выбрали Yandex (достаточное количество бесплатных символов и удобный интерфейс сделали свое дело).

Чтобы держаться в рамках бесплатного количества ежемесячных запросов к переводчику мы сделали следующее:

  • Перевод брифа от клиента на дизайн лого/сайта и т.д. Бриф, если он не скрыт специальными настройками, по умолчанию доступен всем пользователям, не только тем, кто зарегистрирован на сайте. Поэтому процесс перевода брифа происходит в два запроса:

    image

    Первым запросом по кнопке “Перевести задание” мы отдаем текст в переводчик Яндекса, он определяет, на каком языке написан текст (в нашем случае, это английский), потом предлагает перевести его на любой другой язык из списка и выполняет действие.

  • Перевод обсуждения и комментариев под каждой работой. Т.к. принимать участие в обсуждении могут только зарегистрированные пользователи (дизайнеры или заказчик), то перевод доступен всем, кто в своем профиле на сайте указал язык, на который хотел бы переводить. Для выбора доступно 42 языка (список получаем непосредственно от самого Яндекса).

    image

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

  • В чем плюсы внедренного переводчика?
    Клиенту и дизайнеру не надо постоянно переключаться между вкладками в браузере на сторонние страницы, типа онлайн переводчика Гугла.
    Можно перевести все комментарии в дискуссии сразу, без особых проблем: все элементы, которые ты переводил на странице — остаются до тех пор, пока ты не перезагрузишь страницу или не уйдешь с нее
    теперь наши дизайнеры и заказчики лучше понимают друг друга, а т.к. designcontest — проект международный, это вообще бесценно!

    Кстати, важно, что переводчик корректно обходится с форматом html: если в тексте брифа или комментария есть буллиты, ссылки — все это приходит ответом с Яндекса в том же формате, что и исходный текст.
    Сейчас мы тестируем, будет ли реально хватать 10 000 000 символов перевода в месяц для подобного проекта, насколько часто им будут пользоваться и в целом насколько точно с сохранением смысла он будет переводить все клиентские брифы :)

    P.S. данный переводчик стоит на сайте у нас уже 3 недели, за это время им воспользовалось уже 3 000 человек. Если у многоуважаемых читателей будут какие-то вопросы по реализации нашего решения — не стесняйтесь писать в комментах )

Автор: DaLight

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js