Kan man detektere valgt sprog og anvende det til f.eks. valg af datakilde

Hej Community,

er det muligt at detektere valgt språk i et skjema med flere språkversioner?

Hvis ja, kan dette så anvendes til f.eks. valg af datakilde i en function?
(tænker at function har en if-sætning der vælger datakilde ud fra språk, så alle kolonner har korrekt sprogversion ved anvendelse i skjemaet)

Og/eller til andre valg som f.eks. stivalg/path selection?

Bedste hilsener

Uri

Hei @Uri

Hvis jeg forstår behovet ditt korrekt, så trenger du ikke å tenke så komplisert. Du kan lage en datakilde som inneholder ulike språk


Når du så oversetter skjemaet til de språkene, så vil datakilden også automatisk sette samme språk når man benytter språkvelgeren

og her
.

Men ja: du kan også identifisere språket ved å sette det i querystringen og hente det ut vha. =GET[“lang”]. Du kan sette alt mulig i querystringen og hente det ut ved å bruke =GET[""]. De ulike språkene har ulik id. Her må du bare teste deg frem. Eksempelet under så er lang=3 engelsk:

Hej Thormod,

tak for godt og raskt svar!

Grunden til at jeg tænker i at detektere brukerens språkvalg, er at min datakilde har flere kolonner, som alle skal findes i flere språk. Det er f.eks. til et universitet, hvor brukeren først vælger Fakultet og derefter, i næste dropdown, vælger institut, her er institutlisten afgrænset af valget i Fakultetslisten.

Er det bedre at lave datakilder med kun een kolonne og mange oversættelser, som så forbindes via script? Hvis det kan lade sig gøre, bør sprogfunktion slå igennem hele vejen, tænker jeg?

Bedste hilsener

Uri

1 Like

Hei

Ja, det beste hadde vært om språkfunksjonen slo igjennom hele veien, som du skriver. Jeg har forsøkt ulike varianter, og også hørt med kolleger her i ACOS, men vi finner ikke noen måte å få det til.

Alternativene som virker å være aktuelle, er å bruke “lang”-attributtet i URL i kombinasjon med “GET”-koden inne i skjemaet, eller å la brukeren velge språk manuelt i skjemaet.

"lang"-attributtet i URL i kombinasjon med “GET”-kode
Dersom du gjør dette, vil hver språkversjon av skjemaet få en unik URL. Hver URL vil ende på en eller annen kode som angir språk, for eksempel “?lang=3”, “?lang=en” eller “?lang=English”, for å vise skjemaet på engelsk.

Da må brukeren få tak i akkurat den URL’en som gjelder for sitt språk, og det oppstår også en mulighet for feilvalg, siden det jo ville finnes flere URL’er til det samme skjemaet å velge blant. Jeg synes det virker som en litt lite robust løsning.

La brukeren velge språk manuelt i skjemaet
Jeg har valgt å gå for denne løsningen.

Det fungerer, men er jo ikke helt brukervennlig. Bruker må jo først velge språk oppe til høyre på siden (vanlig språkvalg), som kun styrer oversettelse av ledetekstene i skjemaet. Så må bruker gjøre et nytt språkvalg i selve skjemaet for at nedtrekkslistene for fakultet og institutt skal populeres med fakultets- og instituttnavn på riktig språk. Se skjermdump under:
image

Til det du skriver om å velge én, felles datakilde med alle språk, eller én datakilde for hvert språk, så har jeg her valgt én felles datakilde. Men det blir smak og behag. Begge deler bør fungere. (Hvis du har en kjempestor datakilde kan du kanskje få problemer med ytelse, men vi har erfaring for at datakilder i hvert fall opp til 2 000 rader fungerer greit.)

Script brukt for å populere nedtrekksliste for "Fakultet"
var datakilde = datatabeller.Sprak__fakultet_og_insti;
var sprak = Sprak2;
var fakulteter = [];

loop (datakilde)
{
if(val[“Sprak”] == sprak)
{
fakulteter += val[“Fakultet”]
};
};

return fakulteter;

Script brukt for å populere nedtrekksliste for "Institutt"
var datakilde = datatabeller.Sprak__fakultet_og_insti;
var fakultet = Fakultet;
var institutter = [];

loop (datakilde)
{
if(val[“Fakultet”] == fakultet)
{
institutter += val[“Institutt”]
};
};

return institutter;

Slik ser datakilden min ut
image

1 Like

Hej Narve,

tusind tak for godt og grundigt svar, det er en stor hjælp.

Jeg er enig i at URL tilgangen er “mindre robust”, men jeg vil nu afprøve begge tilgange og se hvad brugerne foretrækker, hvad der virker bedst for dem.

Men, det ville vel egentlig være grejt om manuelt språkvalg på standard-språkvælgeren, kunne anvendes aktivt i Script?!

Jeg melder tilbage når jeg ved mere eller der kommer opfølgende spørgsmål. Jeg venter derfor lidt med at lukke denne tråd.

Igen - tusind tak!

Bedste hilsener

Uri