Pseulokalisering
Pseudolokalisering (eller pseudolokalisering ) är en mjukvarutestmetod som används för att testa internationaliseringsaspekter av programvara. Istället för att översätta texten i programvaran till ett främmande språk, som i lokaliseringsprocessen, ersätts textelementen i en applikation med en ändrad version av originalspråket. Till exempel, istället för "Kontoinställningar", kan texten ändras så att den visas som "!!! Àççôûñţ Šéţţîñĝš !!!".
Dessa specifika ändringar gör att originalorden verkar läsbara, men inkluderar de mest problematiska egenskaperna hos världens språk: varierande längd på text eller tecken, språkriktning, passform i gränssnittet och så vidare.
Lokaliseringsprocessen
Traditionellt är lokalisering av mjukvara oberoende av mjukvaruutvecklingsprocessen. I ett typiskt scenario skulle programvara byggas och testas på ett basspråk (som engelska), där alla lokaliserbara element extraheras till externa resurser. Dessa resurser överlämnas till ett lokaliseringsteam för översättning till olika målspråk. Problemet med detta tillvägagångssätt är att många subtila programvarubuggar kan hittas under lokaliseringsprocessen, när det är för sent (eller mer troligt, för dyrt) att fixa dem.
De typer av problem som kan uppstå vid lokalisering innebär skillnader i hur skriven text ser ut på olika språk. Dessa problem inkluderar:
- Översatt text som är betydligt längre än källspråket och inte passar inom gränssnittets begränsningar, eller som orsakar textavbrott på obekväma positioner.
- Teckensnittsglyfer som är betydligt större än eller har diakritiska tecken som inte finns i källspråket och som kan vara avskurna vertikalt.
- Språk där läsordningen inte är från vänster till höger , vilket är särskilt problematiskt för användarinmatning.
- Programkod som förutsätter att alla tecken passar in i en begränsad teckenuppsättning, såsom ASCII eller ANSI, som kan skapa faktiska logiska buggar om de inte fångas upp.
Dessutom kan lokaliseringsprocessen avslöja platser där ett element bör kunna lokaliseras, men är hårdkodat på ett källspråk. På samma sätt kan det finnas element som är designade för att lokaliseras, men som inte borde vara det (t.ex. elementnamnen i ett XML- eller HTML- dokument.)
Pseudolokalisering är designad för att fånga dessa typer av buggar under utvecklingscykeln, genom att mekaniskt ersätta alla lokaliserbara element med ett pseudospråk som är läsbart av källspråkstalare, men som innehåller de flesta av de besvärliga elementen i andra språk och skript. Det är därför pseudolokalisering är att betrakta som ett ingenjörs- eller internationaliseringsverktyg mer än ett lokaliseringsverktyg.
Pseulokalisering i Microsoft Windows
Även om pseudolokaliseringstekniken har använts hos Microsoft sedan slutet av 90-talet, gjordes den tillgänglig för utvecklare som en funktion under Windows Vistas utvecklingscykel. Den typ av pseudospråk som uppfunnits för detta ändamål kallas en pseudolokal på Windows-språk. Dessa lokaler utformades för att använda teckenuppsättningar och skriptegenskaper från en av de tre breda klasserna av främmande språk som användes av Windows vid den tiden – grundläggande ("västerländskt"), speglat ("Near-Eastern") och CJK ("Far- östra"). Före Vista hade var och en av dessa tre språkklasser sina egna separata versioner av Windows, med potentiellt olika kodbaser (och därmed olika beteenden och buggar.) De pseudolokaler som skapades för var och en av dessa språkfamiljer skulle producera text som fortfarande "läser " som engelska, men består av manus från andra språk. Till exempel textsträngen
Redigera programinställningar
skulle återges i den "grundläggande" pseudo-lokalen som
[!!! εÐiţ Þr0ģЯãm səTτıИğ§ !!!]
Denna process producerar översatta strängar som är längre, inkluderar icke-ASCII-tecken och (i fallet med den "spegelvända" pseudo-lokalen), skrivs från höger till vänster.
Observera att parenteserna på vardera sidan av texten i det här exemplet hjälper till att upptäcka följande problem:
- text som är avskuren (trunkering)
- strängar som bildas genom att kombinera (konkatenering)
- strängar som inte är lokaliserbara (hårdkodning)
Pseulokaliseringsprocess hos Microsoft
Michael Kaplan (en Microsoft-programledare) beskriver processen med pseudolokalisering som
en ivrig och hårt arbetande men ändå naiv praktikant, som är ivrig att bevisa [själv] och som kommer att översätta varje enskild sträng som du inte säger att inte ska översättas.
En av nyckelfunktionerna i pseudolokaliseringsprocessen är att den sker automatiskt, under utvecklingscykeln, som en del av en rutinuppbyggnad. Processen är nästan identisk med den process som används för att producera äkta lokaliserade konstruktioner, men görs innan en konstruktion testas, mycket tidigare i utvecklingscykeln. Detta lämnar tid för eventuella buggar som upptäcks vara fixade i baskoden, vilket är mycket lättare än buggar som inte hittas förrän ett releasedatum är nära.
Byggnader som produceras av pseudolokaliseringsprocessen testas med samma QA-cykel som en icke-lokaliserad build. Eftersom pseudolokalerna härmar engelsk text kan de testas av en engelsktalande. Betaversionen av Windows (7 och 8) har släppts med några pseudolokaliserade strängar intakta. För dessa senaste versioner av Windows är den pseudolokaliserade versionen den primära uppbyggnaden (den som skapas rutinmässigt för testning), och den slutliga versionen på engelska är en "lokaliserad" version av den.
Pseulokaliseringsverktyg för andra plattformar
Förutom de verktyg som används internt av Microsoft, inkluderar andra internationaliseringsverktyg nu alternativ för pseudolokalisering. Dessa verktyg inkluderar Alchemy Catalyst från Alchemy Software Development, SDL Passolo från SDL och Globalyst från g11n. Sådana verktyg inkluderar pseudolokaliseringsförmåga, inklusive möjligheten att se renderade pseudolokaliserade dialoger och automatisering av själva testprocessen. Medan verktyg som Globalyst slutför hela processen med att skapa pseudolocalized build och automatisera testningen, kan det också göras genom att köra ett skräddarsytt pseudolokaliseringsskript på de extraherade textresurserna och manuellt testa det.
Det finns en mängd gratis pseudolokaliseringsresurser på Internet som skapar pseudolokaliserade versioner av vanliga lokaliseringsformat som iOS-strängar, Android xml, Gettext po och andra. Dessa webbplatser tillåter utvecklare att ladda upp strängfiler till en webbplats och ladda ner den resulterande pseudolokaliserade filen.