Всередині ConveyThis Tech: Створення нашого веб-сканера

Зробіть свій сайт багатомовним за 5 хвилин
Передайте цю демонстрацію
Передайте цю демонстрацію
My Khanh Pham

My Khanh Pham

Покращення взаємодії з користувачем: ConveyThis представляє керування URL-адресами

Численні відвідувачі ConveyThis віддають перевагу правильному перекладу всіх URL-адрес своїх веб-сайтів, що може бути вимогливим завдання, особливо для великих сайтів, перекладених кількома мовами.

Відгуки користувачів показали, що деякі клієнти вважали початок своїх початкових проектів перекладу веб-сайтів дещо здивованим. Вони часто запитували, чому вони можуть переглядати лише URL-адресу домашньої сторінки в списку перекладів і як створювати переклади свого вмісту.

Це вказує на потенційну область для покращення. Ми побачили можливість полегшити процес адаптації та ефективніше керувати проектами. Однак на той момент нам бракувало конкретного рішення.

Результатом, як ви могли здогадатися, стала функція керування URL-адресами. Це дає змогу користувачам сканувати URL-адреси своїх веб-сайтів і створювати перекладений вміст за допомогою інформаційної панелі ConveyThis , швидко та ефективно.

Нещодавно цю функцію було перенесено зі списку перекладів на нову, більш адаптовану та потужну сторінку керування перекладами на основі URL-адрес. Тепер ми вважаємо, що настав час розкрити історію появи цієї функції.

921

Охоплення Golang: ConveyThis' Подорож до вдосконалених послуг перекладу

922

Початок карантину у 2020 році через пандемію дав мені можливість нарешті вивчити мову програмування Golang, яка була відсторонена через обмеження часу.

Розроблений Google, Golang або Go набирає популярності в останні роки. Статично скомпільована мова програмування Golang була розроблена, щоб дозволити розробникам створювати ефективний, надійний і паралельний код. Його простота підтримує написання та підтримку великих і складних програм без шкоди для швидкості.

Розмірковуючи над можливим побічним проектом для ознайомлення з Golang, спала на думку веб-сканер. Він відповідав згаданим критеріям і потенційно пропонував рішення для користувачів ConveyThis. Веб-сканер або «бот» — це програма, яка відвідує веб-сайт для отримання даних.

Для ConveyThis нашою метою було розробити інструмент, за допомогою якого користувачі зможуть сканувати свій сайт і отримувати всі URL-адреси. Крім того, ми хотіли спростити процес створення перекладів. Зараз користувачі повинні відвідувати свій веб-сайт мовою перекладу, щоб створити їх, завдання, яке стає складним для великих багатомовних сайтів.

Хоча початковий прототип був простим – програма, яка приймає URL-адресу як вхідні дані та починає сканувати сайт, – він був швидким і ефективним. Алекс, технічний директор ConveyThis, побачив потенціал цього рішення та дав добро на дослідження та розробки, щоб удосконалити концепцію та розглянути, як розмістити майбутню виробничу службу.

Навігація безсерверним трендом із Go та ConveyThis

У процесі доопрацювання бота веб-сканера ми зіткнулися з нюансами різних CMS та інтеграцій. Тоді виникло питання – як ми можемо найкраще представити нашим користувачам бота?

Спочатку ми розглянули випробуваний підхід використання AWS з інтерфейсом веб-сервера. Однак виникло кілька потенційних проблем. У нас була невизначеність щодо завантаження сервера, одночасного використання декількома користувачами та браку досвіду розміщення програми Go.

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

Однак у 2020 році для безсерверних обчислень було встановлено 5-хвилинний ліміт. Це виявилося проблемою для нашого бота, якому потенційно може знадобитися сканувати великі сайти електронної комерції з великою кількістю сторінок. На щастя, на початку 2020 року AWS збільшила ліміт до 15 хвилин, хоча ввімкнення цієї функції виявилося складним завданням. Зрештою ми знайшли рішення, запустивши безсерверний код за допомогою SQS – служби черги повідомлень AWS.

923

Подорож до інтерактивного спілкування ботів у реальному часі з ConveyThis

924

Коли ми вирішували дилему хостингу, нам довелося подолати ще одну перешкоду. Тепер у нас є функціональний бот, розміщений ефективним і масштабованим способом. Залишилося завдання передати нашим користувачам дані, згенеровані ботом.

Прагнучи максимальної інтерактивності, я вирішив спілкуватися в реальному часі між ботом і панеллю ConveyThis. Хоча робота в реальному часі не є обов’язковою для такої функції, я хотів, щоб наші користувачі отримували миттєвий відгук, щойно бот почав працювати.

Щоб досягти цього, ми розробили простий веб-сервер Node.js, розміщений на примірнику AWS EC2. Це вимагало деяких налаштувань бота для зв’язку з сервером websocket і автоматизації розгортання. Після ретельного тестування ми були готові до переходу до виробництва.

Те, що починалося як побічний проект, зрештою знайшло своє місце на інформаційній панелі. Завдяки викликам я здобув знання про Go та відточив свої навички в середовищі AWS. Я знайшов Go особливо корисним для мережевих завдань, кооперативного програмування та безсерверних обчислень, враховуючи його низький обсяг пам’яті.

У нас є плани на майбутнє, оскільки бот відкриває нові можливості. Ми прагнемо переписати наш інструмент підрахунку слів для кращої ефективності та потенційно використовувати його для розігріву кешу. Сподіваюся, вам сподобався цей короткий погляд у технічний світ ConveyThis так само, як мені було приємно ділитися ним.

Готові почати?

Переклад, набагато більше, ніж просто знання мов, це складний процес.

Дотримуючись наших порад і використовуючи ConveyThis, ваші перекладені сторінки будуть резонувати у вашої аудиторії, відчуття рідної мови перекладу.

Хоча це вимагає зусиль, результат приносить задоволення. Якщо ви перекладаєте веб-сайт, ConveyThis може заощадити ваші години за допомогою автоматичного машинного перекладу.

Спробуйте ConveyThis безкоштовно протягом 7 днів!

градієнт 2