Det har vært en god miks av koding og oversetting for å komme i havn. Vi begynte arbeidet med det tekniske rammeverket for omtrent et halvt år siden i skrivende stund.
Vi lanserer den engelske versjonen som Laguna Survey 1.3.1. I tillegg til at hele produksjonsapplikasjonen nå er tilgjengelig på engelsk, lanserer vi også som en del av denne versjonen støtte for å servere undersøkelser til deltagere på flere språk. Dette betyr at spørsmålsskjemaet deltagere får opp kan ha navigasjonsknapper og andre meldinger på norsk, engelsk, svensk, dansk, nederlandsk, tysk, fransk og italiensk.











Hvis du lurer på hvordan det tekniske oppsettet for multispråklige websider opererer i prakis, er ikke løsningen å lage kopier av alle websidene vi har på norsk og så erstatte all den norske teksten med engelsk, og legge disse sidene ut på en webserver som serverer til www.lagunasurvey.com. En slik løsning ville skapt en situasjon hvor kodeoppgraderinger måtte kjøres ut på to sett med sider, både de norske og de engelske. Man måtte også sette opp en server til. Dette er ikke en løsning, det er et mareritt. Og skal man publisere på flere språk senere må man ha enda ett sett med sider og servere, osv.
Løsningen vi bruker er å servere de samme sett med html- og kodefiler, fra den samme serveren, til besøkende uansett om de er på norsk eller engelsk. Et besøk begynner med at man kommer inn på vår server (det er i virkeligheten flere servere, men det bryr vi oss ikke om her) fra et eller annet sted. Hvis man har pekt browseren sin mot .com-varianten av vår adresse, plukkes akkurat det faktum opp av programvare på serveren og det blir satt en cookie hvor språkvariablen blir satt til engelsk ('en'). .com og .no domenenavnene våre peker til samme server, og kommer den besøkende til .no varianten settes språkvariablen til norsk ('no'). Slik kan programvaren hente de riktige tekststrengene for å sette inn på siden. Selve innsettingen skjer med en kodelinje:
Output( Localize('front_text2', -lang=$lang), -encodeNone);
Alle tekststrenger i systemet har en nøkkel tilknyttet seg. Nøkkelen er den samme mellom alle språk. Koden over sier: "Hent tekststrengen med nøkkel 'front_text2' fra spåket lagret i variablen 'lang' og sett inn her".
Utfordringen er lage en modul hvor det å arbeide med oversetting er lett, og som samtidig er hyperopimalisert for hastighet i det websidene skal bygges opp, av html, grafikk, data fra Laguna Survey og tekststrenger fra spåkmodulen. Admin-delen av Laguna Survey inneholder for eksempel over 150 slike tekststrenger, så det sier seg selv at å slå opp en tekststreng og sette den inn ikke kan ta lang tid.
I tillegg slipper man ikke unna noe tilpasset grafikk, typisk slik som inneholder tekst. Dette løses lett ved at de norske og engelske grafikksnuttene heter det samme men lagres på forskjellig sted, hvor navnet på lagringsplassen kan konstrueres opp ved bruk av 'no' eller 'en'.
Systemt er lettdrevet og ikke minst lett utvidbart med flere spåk.