Многие посетители ConveyThis предпочитают, чтобы все URL-адреса их веб-сайтов были правильно переведены, что может оказаться непростой задачей, особенно для крупных сайтов, переведенных на несколько языков.
Отзывы пользователей показали, что некоторые клиенты сочли начало своих первоначальных проектов по переводу веб-сайтов несколько обескураживающим. Они часто задавались вопросом, почему они могут просматривать только URL-адрес домашней страницы в списке переводов и как создавать переводы своего контента.
Это указывало на потенциальную область для улучшения. Мы увидели возможность упростить процесс адаптации и повысить эффективность управления проектами. Однако в тот момент у нас не было конкретного решения.
Результатом, как вы, возможно, догадались, стало появление функции управления URL-адресами. Она позволяет пользователям быстро и эффективно сканировать URL-адреса своих веб-сайтов и генерировать переведённый контент через панель управления ConveyThis .
Недавно эта функция была перемещена из списка переводов на новую, более адаптируемую и мощную страницу управления переводами на основе URL. Теперь мы считаем, что пришло время раскрыть историю создания этой функции.
Начало карантина 2020 года из-за пандемии дало мне возможность наконец-то выучить язык программирования Golang, который был отложен из-за нехватки времени.
Разработанный Google, Golang или Go в последние годы набирает популярность. Статически компилируемый язык программирования, Golang был разработан, чтобы позволить разработчикам создавать эффективный, надежный и параллельный код. Его простота позволяет писать и поддерживать обширные и сложные программы без ущерба для скорости.
Размышляя о потенциальном стороннем проекте для знакомства с Golang, я вспомнил о веб-сканере. Он соответствовал указанным критериям и потенциально мог бы стать решением для пользователей ConveyThis. Веб-сканер, или «бот», — это программа, которая посещает веб-сайт для извлечения данных.
Для ConveyThis нашей целью было разработать инструмент, позволяющий пользователям сканировать свой сайт и получать все URL-адреса. Кроме того, мы хотели упростить процесс генерации переводов. В настоящее время для генерации переводов пользователям необходимо зайти на сайт на нужном языке, что становится непростой задачей для крупных многоязычных сайтов.
Хотя первоначальный прототип был простым — программа, принимающая URL-адрес в качестве входных данных и запускающая сканирование сайта, — он работал быстро и эффективно. Алекс, технический директор ConveyThis', увидел потенциал этого решения и дал добро на исследования и разработки для доработки концепции и поиска способа размещения будущего сервиса.
В процессе доработки бота веб-краулера мы столкнулись с нюансами различных CMS и интеграций. Тогда возник вопрос — как мы можем лучше всего представить нашим пользователям бота?
Изначально мы рассматривали проверенный подход использования AWS с интерфейсом веб-сервера. Однако возникло несколько потенциальных проблем. У нас была неопределенность в отношении нагрузки на сервер, одновременного использования несколькими пользователями и отсутствия опыта работы с хостингом программ Go.
Это побудило нас рассмотреть вариант бессерверного хостинга. Он предлагал такие преимущества, как управление инфраструктурой со стороны провайдера и встроенную масштабируемость, что делало его идеальным решением для ConveyThis. Это означало, что нам не нужно было беспокоиться о мощности сервера, поскольку каждый запрос выполнялся в отдельном изолированном контейнере.
Однако еще в 2020 году для бессерверных вычислений было установлено ограничение в 5 минут. Это оказалось проблемой для нашего бота, который потенциально может потребоваться для сканирования больших сайтов электронной коммерции с большим количеством страниц. К счастью, в начале 2020 года AWS увеличил ограничение до 15 минут, хотя включение этой функции оказалось сложной задачей. В конце концов мы нашли решение, запустив бессерверный код с помощью SQS — службы очередей сообщений AWS.
Когда мы решили дилемму с хостингом, нам нужно было преодолеть еще одно препятствие. Теперь у нас был функциональный бот, размещенный эффективным и масштабируемым образом. Оставшейся задачей было передать сгенерированные ботом данные нашим пользователям.
Стремясь к максимальной интерактивности, я решил реализовать взаимодействие бота с панелью управления ConveyThis в режиме реального времени. Хотя для такой функции взаимодействие в режиме реального времени не является обязательным, я хотел, чтобы наши пользователи получали мгновенную обратную связь сразу после начала работы бота.
Для этого мы разработали простой сервер веб-сокетов Node.js, размещенный на экземпляре AWS EC2. Это потребовало некоторых настроек бота для связи с сервером веб-сокетов и автоматизации развертывания. После тщательного тестирования мы были готовы перейти к производству.
То, что начиналось как побочный проект, в конечном итоге нашло свое место в приборной панели. Благодаря испытаниям я приобрел знания в Go и отточил свои навыки в среде AWS. Я нашел Go особенно полезным для сетевых задач, совместного программирования и бессерверных вычислений, учитывая его малый объем памяти.
У нас есть планы на будущее, поскольку бот открывает новые возможности. Мы стремимся переписать наш инструмент подсчёта слов для повышения эффективности и, возможно, использовать его для разогрева кеша. Надеюсь, вам понравился этот краткий обзор технологического мира ConveyThis так же, как мне понравилось им поделиться.
Перевод — это гораздо более сложный процесс, чем просто знание языков.
Следуя нашим советам и используя ConveyThis , ваши переведенные страницы найдут отклик у вашей аудитории и будут ощущаться как родные для целевого языка.
Хотя это требует усилий, результат стоит того. Если вы переводите веб-сайт, ConveyThis может сэкономить вам часы благодаря автоматизированному машинному переводу.
Попробуйте ConveyThis бесплатно в течение 3 дней!