Jag minns första gången jag var med i ett programvarulokalisering-projekt. Jag fick i uppdrag att översätta användargränssnittet för ett industriellt datorsystem med hjälp av ett komplicerat verktyg för mjukvarulokalisering. Jag hade inga problem med det tekniska, men att översätta ett användargränssnitt var nytt för mig och uppgiften visade sig vara en riktig utmaning.
Faktum är att texternas stil inte var så främmande för mig. Eftersom jag är ganska IT-kunnig var jag väl bekant med det ”datorspråk” som vanligtvis används i programvara (under påverkan av chatbots och röstgränssnitt har min syn dock förändrats dramatiskt sedan dess). Det som verkligen förbryllade mig var dessa konstiga tecken: {0}, %d, %setup% och $stop$. Jag hade ingen aning om vad de stod för och om orden mellan symbolerna skulle översättas eller inte, så jag gjorde massor av misstag på nolltid. Radbrytningstecknen, representerade som \n, var det sista slaget mot mitt självförtroende. Jag hade aldrig sett dem förut, och det värsta med dem var att de ofta slogs ihop med andra ord. Som om situationen inte var tillräckligt löjlig var texten på tyska, vilket gjorde det väldigt svårt att avgöra om \nein skulle vara ”nein” eller ”\n” + ”ein”. Projektledaren måste ha ångrat sitt beslut att ge den uppgiften till en dumskalle som mig efter att ha bombarderats med frågor. Han kanske till och med har skrivit ett raseriinlägg på Twitter.
Upptäckte att platshållarna i de översatta filerna för ett brådskande projekt på magiskt vis hade försvunnit. #PMproblems #StartPanicking
— Lau Velázquez (@geekylau) 9 oktober 2013
Översättare som översätter platshållaren $DepartureTime$ med $HeureDépart$ är helt enkelt konsekventa.
— Olivier Oswald (@ooswald) 27 juli 2011
De översättare som översätter platshållaren $Departure Time$ till $HeureDépart$ är bara konsekventa.
Det ögonblick när en översättare bestämmer sig för att ändra formen på citattecken och hälften av dina variabler i spelet försvinner.
— Vojtěch Schubert (@falagor)12 januari 2016
Åratal senare får minnena av min första upplevelse mig att le. Det säger sig självt att jag alltid tar mig tid att förklara för översättare hur variabler fungerar. Och det bästa sättet att undvika misstag och spara tid för dig själv och ditt team är att använda reguljära uttryck. De kan användas för att omvandla variabler till objekt som inte kan redigeras och som är lätta att spåra. I olika programvaror kallas dessa objekt för olika namn. Vi på Smartcat kallar dem gärna platshållare. Och om du undrar vad reguljära uttryck är, så har de ingenting med småprat att göra. De är mönster som används för att matcha och manipulera teckenkombinationer. För att lära sig om reguljära uttryck krävs inga programmeringskunskaper. Klicka dig igenom denna enkla presentation gjord av Thomas Vackier, lokaliseringsspecialist på Yamagata Europe, för att få en uppfattning om vad regex (förkortning för ”reguljärt uttryck”) är.
De mystiska symbolerna
Som ett snabbt exempel kan vi ta några rader från låten I’m Gonna Be (500 miles) av The Proclaimers:
But I would walk 500 miles And I would walk 500 more Just to be the man who walked a thousand miles To fall down at your door
Anta att vi vill att texten ska ändras när lyssnaren reser till en annan plats. För det behöver vi variabler:
But I would walk %$1s miles And I would walk %$2s more Just to be the man who walked a {spelled-number} miles To fall down at your {location}
Vilka faror lurar här? Viktiga tecken kan raderas och/eller missbrukas. Siffrorna i %$1s måste följa ett sekventiellt mönster och ”spelled-number” och ”location” får inte översättas. Tyvärr är det inte alla som vet det.
”Men varför inte bara anlita en expertöversättare istället för att behöva hantera allt detta nybörjarkaos?”, kan man fråga sig. Oavsett vad de faktiska skälen kan vara, är det värt att komma ihåg: ingen föds som lokaliseringsproffs, men alla som har kämpat sig igenom sina första steg och fått ovärderlig erfarenhet under processen kan bli det.
Nybörjarskyddat, eller hur man räddar världen
Så vad kan vi göra för att förhindra katastrofer och spara redigeringstid? Låt oss beskriva variablerna med hjälp av reguljära uttryck:
För variabler med på varandra följande siffror: %\$\ds
För variabler som omges av klamrar: \{.+?\}
Personligen tycker jag att denna lathund är mycket användbar för att komponera reguljära uttryck, och regex101.com är ett utmärkt onlineverktyg som jag rekommenderar för testning. Nu laddar vi upp filen med variablerna till Smartcat. Det här är vad vi ser:
Variablerna visas som lila enheter som uppenbarligen inte kan översättas och som säkert kan överföras från källtexten till målspråket via ett kortkommando. Dessa element förblir intakta i det översatta dokumentet efter att de har laddats ner. Användningen av platshållare är inte begränsad till lokaliseringsprojekt. Tänk dig att du har ett stort specifikationsblad för en luftpump med tusentals artiklar. Varje artikel har en orderkod och alla ser ungefär likadana ut, så det är lätt att göra fel.
Ett enda misstag här kan få mycket olyckliga konsekvenser. Det kan uppstå fel vid leverans av order från lagret, och även korrekt installation kan vara problematisk. Kunden kommer att drabbas av förluster eller ännu värre: felaktiga data kan orsaka tekniska problem som i sin tur kan leda till en miljökatastrof. Platshållare ska inte översättas, utan bara överföras säkert till målspråket, så varför slösa tid på dem? Låt oss hitta alla orderkoder med hjälp av denna eleganta reguljära uttryck [A-Z]{2}\d{4}\-\d{4} och på ett magiskt sätt förvandla dem till icke-redigerbara element:
Vilket fantastiskt sätt att göra vår översättningsprocess (och även redigeringsdelen) enklare och snabbare!
För närvarande stöds platshållare endast som standard för vanliga lokaliseringsfilformat. Om du vill använda dem i andra dokumenttyper, vänligen meddela oss.
Jag kontaktade mina kollegor och frågade dem om deras erfarenheter av platshållare.
Fyodor Bezrukov, verkställande direktör på Logrus IT (kontoret i Kiev)
”Att använda platshållare och taggar i dokumentformat är ett vanligt arbetsscenario för oss. De är livräddare när kunder skickar Excel-filer som innehåller HTML- eller XML-markeringar. Tack vare stödet för platshållare och reguljära uttryck i Smartcat har det blivit mycket enklare och bekvämare att hantera sådana resurser.”
Marina Ilyinykh, lokaliseringschef på Bookmate
”Vi använder ofta variabler och formatering i våra appars användargränssnitt. Genom att ersätta taggar och variabler med platshållare kan vi köra automatiska konsistenskontroller och säkra viktiga data, såsom priser, prenumerationsdatum och länkar.”
Yannis Evangelou, VD på lexiQA, delade med sig av sina blandade känslor:
Yannis Evangelou, VD för lexiQA
”Det är vanligt att översättare översätter texten inom platshållare, token och taggar. Escape-tecken ignoreras också ofta. De flesta av dem är inte medvetna om att dessa inte är översättningsbara lexikala enheter. Projektledarna vet inte heller detta. Ändå kan denna typ av försummelse orsaka allvarliga fel. En översättare berättade en gång för mig att han hade att göra med en text som innehöll HTML-formatering och att han faktiskt översatte raden <p style="border: 1px solid red;"></p> till <π στυλ="περίγραμμα: 1 πίξελ συμπαγές κόκκινο;"></π>. Han hävdade att utvecklaren som skulle använda den kanske inte talade engelska. Projektledaren rättade inte till det eftersom hon tyckte att översättarens resonemang var... rimligt!
Då kom Rolf Klischewski, expert på lokalisering av spel, in i diskussionen:
«Spelöversättare måste ofta hantera sådant här:
Och naturligtvis finns det alla möjliga problem kopplade till detta.
Här är problemet att vissa destinationer kräver en artikel. Så det är ”the Bahamas”, men ”Barbados”. Eller på tyska är det ”die Schweiz” för ”Switzerland”. I sådana fall avvisar vi ofta projektet. Normalt skulle jag råda kunderna att byta textmotor, eftersom jag inte vill leverera skräp. Utvecklare brukar fråga: ”Är det verkligen ett så stort problem?” Och nej, det är det inte, eftersom man kan spela spelet. Så hur hanterar man sådana problem? Berätta för kunden, förklara problemet. Om de inte kan eller vill fixa motorn och du behöver pengarna, gör jobbet, men se till att du inte krediteras.
Prenumerera på vårt nyhetsbrev




