Avatar billede bernhof Nybegynder
16. august 2004 - 11:41 Der er 10 kommentarer og
1 løsning

Flersproget hjemmeside - hvordan?

Jeg sidder og er i gang med et større site i ASP, som skal være flersproget. Man skal altså kunne skifte mellem dansk og engelsk, og måske senere flere sprog.

Hvordan bør jeg gribe dette an? Hvilke metoder kan benyttes?
Avatar billede tubber Juniormester
16. august 2004 - 11:49 #1
Det kommer lidt an på hvad sitet skal bruges til.......

du kan lave det med f.eks. includes og så valget af sproget på første side bestemmer hvilken side der skal bruges......

Er det med dynamiske data fra en db så skal du ha sat en variabel der bestemmer f.eks. hvad tabel de hentes fra.....

så lidt info om opbygningen af siden ville være nice :)
Avatar billede gonza.dk Nybegynder
16. august 2004 - 11:51 #2
Du kan endten gemme alt tekst i en database og så hive det ud afhængigt af hvilket sprog der er valgt.

Du kan også lave en seperat sprog-fil, så laver du en fil for hvert sprog. dansk.asp engelsk.asp og så videre... Alt afhængig af valgt sprog, skal den rigtige fil så inkluderes. I filen er hver enkelt tekst-linje sat som en variabel. og den sættes så ind det givne sted på hjemmesiden.

Selve det at vælge sprog kan gøres ved at sætte en session eller have en variabel der følger med ligegyldigt hvilken side man er på (?lang=dk) Det smarteste vil jeg dog mene er session-metoden. Eller evt. cookie, Så vil brugeren ikke skulle vælge hver gang han kommer ind på siden. Her får du så et problem, med dem der slår cookies fra. kombiner evt. cookie og session.

Mvh.
Gonza
Avatar billede bernhof Nybegynder
16. august 2004 - 19:49 #3
Tak for jeres svar.

@ tubber
Det er en meget dynamisk side med brugere, annoncer mv.

@ gonza.dk
Hvis sprog-filen inkluderes på hver side, dim'er man jo hundredevis af variabler på hver eneste side. Det er da ikke særligt server-venligt, hvis jeg da forstår dig ret?
Avatar billede bernhof Nybegynder
16. august 2004 - 19:50 #4
Med det mener jeg, at måske kun 10-20 af variablerne bruges på hver enkelt side, hvor resten af de hundredevis af variabler dim'es uden der egentlig er brug for dem ..
Avatar billede tubber Juniormester
16. august 2004 - 19:56 #5
Hvis den er meget dynamisk vil jeg oprette en tabel til hver sprog og køre med include for selve selve asp filen for de skal vel også være på forskellige sprog :)
Avatar billede tubber Juniormester
16. august 2004 - 19:57 #6
Men vil lige sige det er en temmelig umulig opgave hvis brugere kan tilføje noget i db......
Avatar billede montago Praktikant
16. august 2004 - 22:23 #7
hmm jeg har lavet en tosproget hjemmeside:

www.mdk-photo.com, hvor man skifter sprog via Browseren... dvs hvis browseren står til kun dansk... er siden dansk... og ellers engelsk

jeg har een enkelt variabel som definere om brugeren er dansk eller engelsk

alle ting er skrevet 2 gange, dansk og engelsk... med

<%if browser = "dansk" then %>Hejsa<% else %>hello<%end if%>

i databasen har jeg
DK_billedtekst
eng_billedtekst

på denne måde er der kun een side hvor 2 sprog fungere fuldstendig adskildt...

fungere meget godt... men meget svært at lave ekstra ting på siden, da alting står hulter til bulter...


hvis jeg skulle re-designe min hjemmeside, ville jeg lave en Language.asp fil med variable... da det er meget nemmere at overskue !
Avatar billede gonza.dk Nybegynder
17. august 2004 - 10:52 #8
mikbj -> Nej, du har ret. I sådan et tilfælde kan der vet. laves en fil til hver enkelt side. Dog vil det være en del nemmere og bedre (synes jeg) at lave det i den føromtalte database. Alt efter hvilket sprog der er valgt, hiver du teksten ud af den rigtige tabel eller kollonne, alt efter hvordan du vælger at opbygge det :-)
Avatar billede bernhof Nybegynder
17. august 2004 - 11:59 #9
@ tubber
Ok, databaseløsningen er en mulighed. Det gør ikke noget at bruger-input ikke oversættes. Det kan man, som du siger, trods alt heller ikke gøre noget ved.

@ montago
Tak for forslaget med if-then-else, men på en større side som den jeg er igang med vil det være en uholdbar løsning.

@ gonza.dk
Istedet for at lave en language-fil til hver enkelt side (det ville give en del uorden :) kunne man vel lave noget Select Case på det aktuelle dokumentnavn, og kun dim'e de nødvendige variabler, og derved beholde den ene language-fil. Forstår du hvad jeg mener? Og tror du det ville det virke efter hensigten?

Jeg er nemlig ikke helt vild med database-løsningen. For det første skal jeg sidde og rette i databasen hver gang jeg tilføjer noget tekst til hjemmesiden. Her er det lettere lige hurtigt at tilføje en variabel i en include fil, ville jeg mene. For det andet er et (og flere) databasekald er da betydeligt langsommere end at hente indholdet af en variabel fra en inkluderet fil. Ret mig hvis jeg tager fejl ...
Avatar billede gonza.dk Nybegynder
22. august 2004 - 12:52 #10
mikbj -> Det kunne man sikkert meget nemt lave. Og ja, det ville da give en fordel i forhold til et utal af forskellige languagefiler :-)
Avatar billede bernhof Nybegynder
23. august 2004 - 02:43 #11
Ok, well .. Jeg takker for idéerne :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester