Inside ConveyThis Tech: Opbygning af vores webstedscrawler

Gør dit websted flersproget på 5 minutter
Formidle denne demo
Formidle denne demo
My Khanh Pham

My Khanh Pham

Forbedring af brugeroplevelsen: ConveyThis introducerer URL-administration

Talrige ConveyThis lånere foretrækker at få alle deres hjemmesides URL'er korrekt oversat, hvilket kan være en krævende opgave, især for ekspansive websteder oversat til flere sprog.

Brugerfeedback har vist, at nogle kunder fandt påbegyndelsen af deres indledende oversættelsesprojekter noget forvirrende. De stillede ofte spørgsmålstegn ved, hvorfor de kun kunne se hjemmesidens URL i oversættelseslisten, og hvordan man laver oversættelser af deres indhold.

Dette indikerede et potentielt område for forbedring. Vi så en mulighed for at facilitere en smidigere onboarding-proces og mere effektiv projektstyring. Vi manglede dog en konkret løsning på det tidspunkt.

Resultatet, som du måske har anet, var introduktionen af URL Management-funktionen. Det gør det muligt for brugere at scanne deres websteds URL'er og generere deres oversatte indhold via ConveyThis Dashboard, hurtigt og effektivt.

For nylig blev denne funktion flyttet fra oversættelseslisten til en ny, mere fleksibel og kraftfuld URL-baseret oversættelsesadministrationsside. Nu mener vi, at det er tid til at afsløre historien bag denne funktions begyndelse.

921

Embracing Golang: ConveyThis' Journey Towards Enhanced Translation Services

922

Begyndelsen af 2020-lockdownen på grund af pandemien gav mig chancen for endelig at lære programmeringssproget Golang, der var blevet sat på sidelinjen på grund af tidsbegrænsninger.

Udviklet af Google, Golang eller Go har vundet popularitet i de seneste år. Et statisk kompileret programmeringssprog, Golang blev designet til at gøre det muligt for udviklere at lave effektiv, pålidelig og samtidig kode. Dens enkelhed understøtter skrivning og vedligeholdelse af omfattende og komplicerede programmer uden at ofre hastigheden.

Da jeg overvejede et potentielt sideprojekt for at gøre mig bekendt med Golang, dukkede en webcrawler op. Det opfyldte de nævnte kriterier og tilbød potentielt en løsning for ConveyThis-brugere. En webcrawler eller 'bot' er et program, der besøger et websted for at udtrække data.

For ConveyThis var vores mål at udvikle et værktøj til brugere til at scanne deres websted og hente alle URL'er. Derudover ønskede vi at strømline processen med at generere oversættelser. I øjeblikket skal brugere besøge deres websted på et oversat sprog for at generere dem, en opgave, der bliver skræmmende for store, flersprogede websteder.

Selvom den første prototype var ligetil – et program, der tager en URL som input og begynder at crawle webstedet – var det hurtigt og effektivt. Alex, ConveyThis' CTO, så potentialet i denne løsning og gav grønt lys til forskning og udvikling for at forfine konceptet og overveje, hvordan den fremtidige produktionsservice skal være vært.

Naviger i den serverløse trend med Go and ConveyThis

I færd med at færdiggøre webcrawler-bot, fandt vi os selv i at kæmpe med nuancerne i forskellige CMS og integrationer. Spørgsmålet opstod så – hvordan kan vi bedst præsentere vores brugere for botten?

Til at begynde med overvejede vi den gennemprøvede tilgang med at bruge AWS med en webservergrænseflade. Der dukkede dog flere potentielle problemer op. Vi havde usikkerhed om serverbelastningen, den samtidige brug af flere brugere og vores manglende erfaring med Go-programhosting.

Dette fik os til at overveje et serverløst hosting-scenario. Dette tilbød fordele såsom udbyderens infrastrukturstyring og iboende skalerbarhed, hvilket gør det til en ideel løsning til ConveyThis. Det betød, at vi ikke behøvede at bekymre os om serverkapacitet, da hver anmodning ville fungere i sin egen isolerede container.

Men tilbage i 2020 kom serverløs computing med en 5-minutters grænse. Dette viste sig at være et problem for vores bot, som potentielt kunne kræves for at crawle store e-handelswebsteder med adskillige sider. Heldigvis forlængede AWS i begyndelsen af 2020 grænsen til 15 minutter, selvom det viste sig at være en udfordrende opgave at aktivere denne funktion. Til sidst fandt vi løsningen ved at udløse den serverløse kode med SQS – AWS message queuing service.

923

Rejsen til interaktiv realtidsbotkommunikation med ConveyThis

924

Da vi løste hosting-dilemmaet, havde vi endnu en forhindring at overvinde. Vi havde nu en funktionel bot, hostet på en effektiv, skalerbar måde. Den resterende opgave var at videresende de bot-genererede data til vores brugere.

Med henblik på maksimal interaktivitet besluttede jeg mig for realtidskommunikation mellem botten og ConveyThis-dashboardet. Selvom realtid ikke er et krav for en sådan funktion, ville jeg have, at vores brugere skulle få øjeblikkelig feedback, så snart botten begyndte at arbejde.

For at opnå dette udviklede vi en simpel Node.js websocket-server, hostet på en AWS EC2-instans. Dette krævede nogle justeringer af botten til kommunikation med websocket-serveren og automatisering af implementering. Efter grundige test var vi klar til at gå over til produktion.

Det, der startede som et sideprojekt, fandt i sidste ende sin plads i dashboardet. Gennem udfordringerne fik jeg viden i Go og finpudset mine kompetencer i AWS-miljøet. Jeg fandt Go særligt gavnlig til netværksopgaver, samarbejdsprogrammering og serverløs computing på grund af dets lave hukommelsesfodaftryk.

Vi har fremtidsplaner, da botten bringer nye muligheder. Vi sigter efter at omskrive vores ordtællingsværktøj for bedre effektivitet og potentielt bruge det til cacheopvarmning. Jeg håber, du nød dette smugkig i ConveyThiss teknologiverden lige så meget, som jeg har nydt at dele det.

Klar til at komme i gang?

Oversættelse, langt mere end blot at kunne sprog, er en kompleks proces.

Ved at følge vores tips og bruge ConveyThis vil dine oversatte sider få genklang hos dit publikum og føle sig hjemmehørende i målsproget.

Selvom det kræver indsats, er resultatet givende. Hvis du oversætter et websted, kan ConveyThis spare dig for timer med automatisk maskinoversættelse.

Prøv ConveyThis gratis i 7 dage!

gradient 2