Inside ConveyThis Tech: onze websitecrawler bouwen

Maak uw website meertalig in 5 minuten
2024
Snelste implementatie
2023
Hoge prestaties
2022
Beste ondersteuning

Verbetering van de gebruikerservaring: ConveyThis introduceert URL-beheer

Veel ConveyThis-klanten geven er de voorkeur aan om alle URL's van hun website correct te laten vertalen. Dit kan een lastige klus zijn, vooral voor grote sites die in meerdere talen vertaald moeten worden.

Uit gebruikersfeedback blijkt dat sommige klanten de start van hun eerste websitevertaalprojecten enigszins verbijsterend vonden. Ze vroegen zich vaak af waarom ze alleen de URL van de startpagina in de vertaallijst konden zien en hoe ze vertalingen van hun inhoud konden maken.

Dit gaf een potentieel gebied voor verbetering aan. We zagen een kans om een soepeler onboardingproces en efficiënter projectmanagement te faciliteren. Het ontbrak ons op dat moment echter aan een concrete oplossing.

Het resultaat, zoals u wellicht al vermoedde, was de introductie van de URL Management-functie. Hiermee kunnen gebruikers de URL's van hun website scannen en hun vertaalde content genereren via het ConveyThis Dashboard, snel en effectief.

Onlangs is deze functie verplaatst van de Vertaallijst naar een nieuwe, beter aanpasbare en krachtige URL-gebaseerde vertaalbeheerpagina. Nu zijn we van mening dat het tijd is om het verhaal achter de introductie van deze functie te onthullen.

Golang omarmen: ConveyThis' Reis naar verbeterde vertaaldiensten

Het begin van de lockdown in 2020 als gevolg van de pandemie bood mij de kans om eindelijk de programmeertaal Golang te leren, die vanwege tijdgebrek buitenspel was gezet.

Golang of Go, ontwikkeld door Google, wint de laatste jaren aan populariteit. Golang is een statisch gecompileerde programmeertaal en is ontworpen om ontwikkelaars in staat te stellen efficiënte, betrouwbare en gelijktijdige code te maken. De eenvoud ervan ondersteunt het schrijven en onderhouden van uitgebreide en gecompliceerde programma's zonder dat dit ten koste gaat van de snelheid.

Toen ik nadacht over een mogelijk zijproject om mezelf vertrouwd te maken met Golang, dacht ik aan een webcrawler. Het voldeed aan de genoemde criteria en bood mogelijk een oplossing voor ConveyThis gebruikers. Een webcrawler of 'bot' is een programma dat een website bezoekt om gegevens te extraheren.

Voor ConveyThis was ons doel om een tool te ontwikkelen waarmee gebruikers hun site kunnen scannen en alle URL's kunnen ophalen. Daarnaast wilden we het proces van het genereren van vertalingen stroomlijnen. Momenteel moeten gebruikers hun website in een vertaalde taal bezoeken om deze te genereren, een taak die lastig wordt voor grote, meertalige sites.

Hoewel het eerste prototype eenvoudig was – een programma dat een URL als invoer gebruikt en de site begint te crawlen – was het snel en effectief. Alex, ConveyThis' CTO, zag het potentieel van deze oplossing en gaf groen licht voor onderzoek en ontwikkeling om het concept te verfijnen en na te denken over hoe de toekomstige productiedienst zou kunnen worden gehost.

Navigeren door de serverloze trend met Go en ConveyThis

Tijdens het finaliseren van de webcrawlerbot worstelden we met de nuances van verschillende CMS en integraties. De vraag rees toen: hoe kunnen we onze gebruikers het beste kennis laten maken met de bot?

In eerste instantie hebben we gekeken naar de beproefde aanpak van het gebruik van AWS met een webserverinterface. Er kwamen echter verschillende potentiële problemen naar voren. We hadden onzekerheid over de serverbelasting, het gelijktijdige gebruik door meerdere gebruikers en ons gebrek aan ervaring met Go-programmahosting.

Dit bracht ons ertoe om een serverloos hostingscenario te overwegen. Dit bood voordelen zoals infrastructuurbeheer door de provider en inherente schaalbaarheid, waardoor het een ideale oplossing was voor ConveyThis. Het betekende dat we ons geen zorgen hoefden te maken over de servercapaciteit, omdat elk verzoek in zijn eigen geïsoleerde container zou werken.

In 2020 kwam serverloos computergebruik echter met een limiet van vijf minuten. Dit bleek een probleem voor onze bot, die mogelijk grote e-commercesites met talloze pagina's moest doorzoeken. Gelukkig verlengde AWS begin 2020 de limiet naar 15 minuten, hoewel het inschakelen van deze functie een uitdagende taak bleek te zijn. Uiteindelijk hebben we de oplossing gevonden door de serverloze code te activeren met SQS – de berichtenwachtrijservice van AWS.

De reis naar interactieve realtime botcommunicatie met ConveyThis

Toen we het hostingdilemma hadden opgelost, moesten we nog een hindernis overwinnen. We hadden nu een functionele bot, gehost op een efficiënte, schaalbare manier. De resterende taak was om de door de bot gegenereerde gegevens door te geven aan onze gebruikers.

Met het oog op maximale interactiviteit heb ik gekozen voor realtime communicatie tussen de bot en het ConveyThis dashboard. Hoewel realtime geen vereiste is voor een dergelijke functie, wilde ik dat onze gebruikers onmiddellijk feedback zouden krijgen zodra de bot begon te werken.

Om dit te bereiken hebben we een eenvoudige Node.js-websocketserver ontwikkeld, gehost op een AWS EC2-instantie. Dit vereiste enkele aanpassingen aan de bot voor communicatie met de websocket-server en het automatiseren van de implementatie. Na grondig testen waren we klaar om over te gaan naar productie.

Wat begon als een bijproject vond uiteindelijk zijn plaats in het dashboard. Door de uitdagingen heb ik kennis opgedaan in Go en mijn vaardigheden in de AWS-omgeving aangescherpt. Ik vond Go vooral nuttig voor netwerktaken, coöperatief programmeren en serverloos computergebruik, gezien de lage geheugenbelasting.

We hebben toekomstplannen omdat de bot nieuwe kansen biedt. We streven ernaar om onze tool voor het tellen van woorden te herschrijven voor een betere efficiëntie, en deze mogelijk te gebruiken voor het opwarmen van de cache. Ik hoop dat je dit voorproefje van de technische wereld van ConveyThis net zo leuk vond als ik heb genoten van het delen ervan.

Klaar om te beginnen?

Vertalen is, veel meer dan alleen het kennen van talen, een complex proces.

Als u onze tips opvolgt en ConveyThis gebruikt, zullen uw vertaalde pagina's aanslaan bij uw publiek en aanvoelen alsof ze de doeltaal beheersen.

Hoewel het moeite kost, is het resultaat lonend. Als u een website vertaalt, kan ConveyThis u uren besparen met geautomatiseerde machinevertaling.

Probeer ConveyThis 7 dagen gratis!

CONVEYTHIS