Számos ConveyThis felhasználó azt szeretné, ha webhelyének összes URL-címe megfelelően le lenne fordítva, ami nehéz feladat lehet, különösen a több nyelvre lefordított, nagy kiterjedésű webhelyek esetében.
A felhasználók visszajelzései azt mutatják, hogy egyes ügyfelek kissé megdöbbentőnek találták kezdeti webhelyfordítási projektjeik megkezdését. Gyakran megkérdőjelezték, miért csak a kezdőlap URL-jét láthatják a fordítási listában, és hogyan készítsék el a tartalmuk fordítását.
Ez jelezte a fejlesztés lehetséges területét. Lehetőséget láttunk a zökkenőmentesebb belépési folyamat és a hatékonyabb projektmenedzsment elősegítésére. Abban a pillanatban azonban hiányzott a konkrét megoldás.
Az eredmény, ahogy sejthetitek, az URL-kezelési funkció bevezetése volt. Ez lehetővé teszi a felhasználók számára, hogy beolvassák webhelyük URL-jeit, és gyorsan és hatékonyan generálják lefordított tartalmaikat a ConveyThis irányítópulton keresztül.
A közelmúltban ezt a funkciót áthelyezték a Fordítási listáról egy új, jobban alkalmazkodó és hatékonyabb URL-alapú fordításkezelő oldalra. Úgy gondoljuk, itt az ideje, hogy felfedjük a funkció létrejöttének történetét.
A járvány miatti 2020-as bezárás lehetőséget biztosított számomra, hogy végre megtanuljam a Golang programozási nyelvet, amely az idő szűke miatt elmaradt.
A Google által fejlesztett Golang vagy Go az elmúlt években egyre népszerűbb. A Golang egy statikusan összeállított programozási nyelv, amelyet arra terveztek, hogy lehetővé tegye a fejlesztők számára hatékony, megbízható és párhuzamos kódok készítését. Egyszerűsége támogatja kiterjedt és bonyolult programok írását és karbantartását a sebesség feláldozása nélkül.
Miközben azon gondolkodtam, hogy egy lehetséges mellékprojekten ismerkedjek meg a Golanggal, egy web crawler jutott eszembe. Megfelelt a fent említett kritériumoknak, és potenciálisan megoldást kínált a ConveyThis felhasználók számára. A web crawler vagy „bot” egy olyan program, amely felkeres egy webhelyet, hogy adatokat nyerjen ki.
A ConveyThis esetében a célunk egy olyan eszköz kifejlesztése volt, amellyel a felhasználók átvizsgálhatják webhelyüket, és lekérhetik az összes URL-t. Emellett egyszerűsíteni szerettük volna a fordítások generálásának folyamatát. Jelenleg a felhasználóknak meg kell látogatniuk a webhelyüket egy lefordított nyelven ahhoz, hogy létrehozzák a fordításokat, ami ijesztő feladattá válhat a nagy, többnyelvű webhelyek esetében.
Bár a kezdeti prototípus egyszerű volt – egy program, amely egy URL-t vesz bemenetként, és elkezdi feltérképezni a webhelyet –, gyors és hatékony volt. Alex, a ConveyThis műszaki igazgatója meglátta a megoldásban rejlő lehetőségeket, és zöld utat adott a kutatás-fejlesztésnek a koncepció finomítása és a jövőbeli termelési szolgáltatás üzemeltetésének módjának átgondolása érdekében.
A webrobot bot véglegesítése során azon kaptuk magunkat, hogy a különböző CMS-ek és integrációk árnyalataival küszködünk. Felmerült a kérdés – hogyan tudjuk a legjobban bemutatni felhasználóinknak a botot?
Kezdetben az AWS webszerver felülettel való használatának kipróbált és bevált megközelítését vettük fontolóra. Azonban több lehetséges probléma is felmerült. Bizonytalanságunk volt a szerverterheléssel, a több felhasználó egyidejű használatával, valamint a Go programhosztingtal kapcsolatos tapasztalatok hiányával kapcsolatban.
Ez arra késztetett minket, hogy egy szerver nélküli tárhelyszolgáltatást fontolgassunk. Ez olyan előnyöket kínált, mint a szolgáltató általi infrastruktúra-kezelés és a benne rejlő skálázhatóság, így ideális megoldást jelentett a ConveyThis számára. Ez azt jelentette, hogy nem kellett aggódnunk a szerverkapacitás miatt, mivel minden kérés a saját, elszigetelt konténerében működött.
2020-ban azonban a kiszolgáló nélküli számítástechnika 5 perces korláttal rendelkezett. Ez problémának bizonyult a robotunk számára, amelyre szükség lehet nagy, sok oldalt tartalmazó e-kereskedelmi webhelyek feltérképezésére. Szerencsére 2020 elején az AWS 15 percre meghosszabbította a korlátot, bár ennek a funkciónak az engedélyezése nehéz feladatnak bizonyult. Végül úgy találtuk meg a megoldást, hogy a szerver nélküli kódot SQS-sel – az AWS üzenetsoroló szolgáltatással – elindítottuk.
Ahogy megoldottuk a házigazda dilemmáját, újabb akadályt kellett leküzdenünk. Mostantól rendelkezünk egy működőképes robottal, amelyet hatékonyan és méretezhetően tároltak. A hátralévő feladat az volt, hogy a bot által generált adatokat továbbítsuk felhasználóinknak.
A maximális interaktivitás érdekében a bot és a ConveyThis irányítópult közötti valós idejű kommunikáció mellett döntöttem. Bár a valós idejű kommunikáció nem követelmény egy ilyen funkcióhoz, azt szerettem volna, hogy a felhasználóink azonnal visszajelzést kapjanak, amint a bot működni kezd.
Ennek elérése érdekében kifejlesztettünk egy egyszerű Node.js websocket szervert, amely egy AWS EC2 példányon található. Ehhez néhány módosításra volt szükség a roboton a websocket szerverrel való kommunikációhoz és a telepítés automatizálásához. Alapos tesztelés után készen álltunk a gyártásra való átállásra.
Ami mellékprojektnek indult, végül megtalálta a helyét a műszerfalon. A kihívások során tudást szereztem a Go-ban, és az AWS környezetben csiszoltam tudásomat. A Go-t különösen hasznosnak találtam a hálózati feladatokhoz, a kooperatív programozáshoz és a kiszolgáló nélküli számítástechnikához, tekintettel alacsony memóriaigényére.
Vannak jövőbeli terveink, mivel a bot új lehetőségeket teremt. Célunk, hogy átírjuk a szószámláló eszközünket a jobb hatékonyság érdekében, és potenciálisan a gyorsítótár-melegítésre is használjuk. Remélem, hogy nektek is annyira tetszett ez a betekintés a ConveyThis tech világába, mint amennyire én élveztem a megosztását.
A fordítás sokkal több, mint a nyelvek ismerete, összetett folyamat.
Tippjeink követésével és a ConveyThis használatával a lefordított oldalak a célnyelv őshonos hangulatát idézik majd a közönség számára.
Bár erőfeszítést igényel, az eredmény kifizetődő. Ha weboldalt fordítasz, a ConveyThis órákat takaríthat meg az automatikus gépi fordítással.
Próbáld ki a ConveyThis szolgáltatást 3 napig ingyen!