Kontinuerlig lokalisering gör det möjligt för mjukvaruutvecklare att lokalisera sitt innehåll utan att hindra utvecklingsprocessen. Så här lyckades Xsolla med hjälp av fritt tillgängliga verktyg.
Utmaning
Framväxten av agila utvecklingsmetoder och webbaserade verktyg har medfört ännu fler utmaningar i relationerna mellan utvecklare och lokaliserare. Tidigare kom nytt innehåll med några månaders mellanrum, men nu kan release-cyklerna vara så korta som några veckor. Varje ny release innehåller nytt innehåll som måste lokaliseras inom några dagar. Ta Xsolla, en global distributör och utgivare av videospel som förser spelutvecklare med verktyg för att öka deras spels potentiella räckvidd. Företaget har åtta viktiga produkter, en lanseringscykel på två veckor och 6 till 21 språk att lokalisera varje produkt till.
Företaget har historiskt sett använt olika onlineöversättningsplattformar för att få jobbet gjort, men var i många avseenden missnöjda med dem. ”Att lokalisera några nya strängar till 20 språk krävde mer projektledning än översättningstid”, säger Natalya Pavlikova, lokaliseringsingenjör på Xsolla. Av denna anledning började Xsolla leta efter en alternativ lösning.
Natalya Pavlikova, lokaliseringsingenjör på Xsolla
Kriterier
Xsolla ville att den nya plattformen skulle:
Automatiskt hämta lokaliserbart innehåll från företagets kodarkiv,
Möjliggöra en transparent och flexibel lokaliseringsprocess, och
Skicka det lokaliserade innehållet tillbaka till kodarkivet.
Lösningen bestod av två kostnadsfria verktyg, Serge och Smartcat. Serge – string extraction and resource generation engine – är ett fristående verktyg som möjliggör kontinuerlig lokalisering (se infälld text). Det samlar automatiskt in nytt källmaterial, publicerar det för översättning, hämtar färdiga översättningar och integrerar dem tillbaka i produkten. Serge är ett öppen källkodsprojekt som underhålls av Evernote. Smartcat är i sin tur en översättningsplattform där man kan spara projekt och översättningsminnen, hitta översättare, tilldela dem dokument och betala för deras arbete.
Kontinuerlig lokalisering: när behöver du det?
Kontinuerlig lokalisering fungerar bäst i situationer där du har mycket innehåll som uppdateras kontinuerligt och/eller där olika team hanterar utveckling och lokalisering. Några exempel är:
Lokalisering av programvara och videospel, där nya strängar dyker upp i varje release.
Användarhandböcker och API-specifikationer, inklusive automatiskt genererade sådana.
Webbplatser och bloggar som skapats med hjälp av statiska webbplatsgeneratorer.
Alla projekt där innehållsskapande passar in i ett agilt ramverk.
I allmänhet är kontinuerlig lokalisering den mest effektiva metoden när du lagrar lokaliserbara strängar i ett versionshanteringssystem. (Och om du inte gör det är det en bra idé att överväga att göra det.) Genom att använda en enhetlig, automatiserad process för stränglokalisering elimineras mänskliga fel och dina anställda sparar mycket tid, som de kan ägna åt viktigare och mer kreativa uppgifter.
Lösning
I Xsollas fall ser det kontinuerliga lokaliseringsarbetet ut så här:
Xsollas utvecklare uppdaterar projektfilerna i ett Git-arkiv.
Serge övervakar kontinuerligt arkivet i realtid och extraherar vid behov strängar från uppdateringarna, skapar PO-resursfiler med dem och skickar dem till Smartcat.
Xsollas lokaliseringschef fördelar de oöversatta strängarna mellan frilansarna i sitt team.
Frilansarna översätter dokumenten och markerar dem som färdiga.
Serge tar de lokaliserade strängarna, lägger tillbaka dem i källfilerna och skickar dem till Xsollas Git-arkiv.
Xsollas utvecklare publicerar releasen tillsammans med lokaliseringen.
Varför Serge?
Smartcat stöder olika filformat på egen hand. Så varför skulle man använda Serge som proxy mellan originalresursfiler och en översättningstjänst?
”På ytan kan Serge se ut som en filformatkonverterare. Men det är det inte”, säger Igor Afanasyev, lokaliseringschef på Evernote och personen bakom Serge. ”Serge är en flexibel pipeline för filbearbetning och synkronisering som kan konfigureras för att passa olika lokaliseringsarbetsflöden, vilket möjliggör en verkligt kontinuerlig integration. Serge garanterar att lokaliserade resursfiler har samma struktur som källfilerna och hanterar fall där källfilerna ändras medan deras äldre versioner fortfarande är under översättning. Detta sparar ingenjörerna från att behöva sammanfoga ändringar och frigör utvecklingscykeln. På ett sätt känns det för ingenjörerna som om det inte finns någon ”lokaliseringsprocess” alls med Serge.” En annan viktig funktion hos Serge är att det har en egen översättningsdatabas och körs på kundens lokaler. Detta innebär att Smartcat inte behöver åtkomst till Xsollas privata Git-arkiv, och de översättningsfiler som Smartcat får från Serge är korrigerade resursfiler som inte innehåller någon känslig information. Slutligen, eftersom Serge körs lokalt på Xsollas server utan avbrott, uppdateras de lokaliserade resurserna inom några minuter. Detta garanterar att de lokaliserade filerna alltid är uppdaterade och att byggnaderna inte misslyckas på grund av föråldrade resurser.
Igor Afanasyev, lokaliseringschef på Evernote
Resultat
Det viktigaste resultatet av övergången till kontinuerlig lokalisering är att projektledarna kan fokusera på sitt arbete, medan utvecklarna kan fokusera på sitt. Detta sparar mycket projektledningsarbete, och ingen behöver ägna sig åt att skicka filer och konvertera format – det är Serge som sköter det.
”Nu kan vi hantera våra strängar på samma sätt som vi hanterar vår kod”, säger Maxim Kungurtsev, frontend-utvecklare på Xsolla. ”Vi kan skapa nya grenar, slå ihop dem, återställa dem – och samtidigt vara säkra på att Serge–Smartcat-paketet sköter allt bakgrundsarbete för att lokalisera strängarna för den specifika grenen i vårt repo. Det fungerar som magi!” Inte minst viktigt är att Smartcats teamhanteringsfunktioner gör det enklare att säkerställa kvaliteten på det lokaliserade innehållet. ”Vi har redan ett sammansvetsat team av översättare på Smartcat som ser till att vår röst förblir konsekvent genomgående”, säger Natalya. ”Och för det mest kritiska innehållet kan vi lägga till fler lingvister som korrekturläsare för samma innehåll.”
Maxim Kungurtsev, frontend-utvecklare på Xsolla
Framtidsplaner
Detta var det första kontinuerliga lokaliseringsprojektet för Smartcat med Serge, och teamet arbetar nära både Xsolla och Igor Afanasyev. Det finns fortfarande många saker som Xsolla ser fram emot i framtiden, till exempel:
Översättningsuppdrag med ett klick,
Stöd för pluraliserbara etiketter,
Tilldelning av redaktörer för källtexter,
Mer flexibla aviseringar.
Men Smartcat är optimistiskt. ”Vi kommer att arbeta hårt för att implementera Xsollas funktionsönskemål”, säger Pavel Doronin, produktchef på Smartcat. ”Inte bara för att de är en av våra mest betalande kunder, utan också för att ge våra andra användare bättre arbetsflöden för kontinuerlig lokalisering, som vi är säkra på kommer att bestå.” I framtiden planerar vi att erbjuda ännu fler alternativ för kontinuerlig lokalisering med Smartcat, inklusive både inbyggda scenarier och externa integrationer som understryker vår ekosystemiska approach till tillväxt. I slutändan är det våra användares önskemål som är viktigast, och det är det vi kommer att fokusera på.
Pavel Doronin, produktchef på Smartcat
Användbara länkar
Om du vill konfigurera ett kontinuerligt lokaliseringsarbetsflöde på samma sätt som Xsolla måste du:
Ladda ner och installera Serge.
Registrera dig hos Smartcat.
Installera plugin-programmet Serge Smartcat.



