Veel ConveyThis -gebruikers willen graag dat alle URL's van hun websites correct worden vertaald. Dat kan een lastige klus zijn, vooral voor grote sites die in meerdere talen moeten worden vertaald.
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-beheerfunctie. Hiermee kunnen gebruikers de URL's van hun website scannen en hun vertaalde content snel en effectief genereren via het ConveyThis Dashboard.
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.
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.
Terwijl ik nadacht over een mogelijk zijproject om Golang te leren kennen, schoot me een webcrawler te binnen. Deze 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 wilden we een tool ontwikkelen waarmee gebruikers hun site konden scannen en alle URL's konden ophalen. Daarnaast wilden we het proces van het genereren van vertalingen stroomlijnen. Momenteel moeten gebruikers hun website in een vertaalde taal bezoeken om vertalingen te genereren, een taak die voor grote, meertalige sites een hele klus wordt.
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, CTO van ConveyThis, zag de potentie van deze oplossing en gaf groen licht voor onderzoek en ontwikkeling om het concept te verfijnen en na te denken over hoe de toekomstige productieservice gehost kon worden.
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 een serverloos hostingscenario te overwegen. Dit bood voordelen zoals infrastructuurbeheer door de provider en inherente schaalbaarheid, wat het een ideale oplossing maakte voor ConveyThis. Het betekende dat we ons geen zorgen hoefden te maken over servercapaciteit, omdat elk verzoek in een 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.
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 functionaliteit, wilde ik dat onze gebruikers direct feedback kregen 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 nu de bot nieuwe mogelijkheden biedt. We willen onze tool voor het tellen van woorden herschrijven voor een betere efficiëntie en deze mogelijk gebruiken om de cache op te warmen. Ik hoop dat je net zoveel hebt genoten van dit kijkje in de technische wereld van ConveyThis als ik ervan heb genoten om het te delen.
Vertalen is een complex proces, veel meer dan alleen taalkennis.
Als u onze tips opvolgt en ConveyThis gebruikt, zullen uw vertaalde pagina's bij uw publiek aanslaan en aanvoelen alsof ze in de doeltaal worden gesproken.
Hoewel het inspanning vergt, is het resultaat de moeite waard. Als je een website vertaalt, kan ConveyThis je uren besparen met geautomatiseerde machinevertaling.
Probeer ConveyThis 3 dagen gratis!