Avatar billede Slettet bruger
05. september 2005 - 20:21 Der er 12 kommentarer og
1 løsning

Hjælp til hjemmeside med flere sprog

Jeg har lavet noget smart, synes jeg selv ;o)

En kunde har både et .dk og et .no domæne.
Jeg havde lavet det således, at når brugeren gik på hjemmesiden, checkede den om det var via .dk eller via .no og satte sproget til dansk eller norsk i en session-variabel.

Det har fungeret perfekt, indtil nu, hvor firmaet har valgt at ville give brugeren mulighed for at vælge et 3. sprog.

Jeg kan sagtens lave et lille flag, der sætter session-variablen, men vælger brugeren så at føje siden til sine foretrukne, vil linket kun give dansk eller norsk som sprog.

Det er pænt mange link rundt omkring i databasen, og jeg har ikke lyst til at skulle sætte en sprog-variabel efter dem alle sammen, hvis jeg kan undgå det.

Alt data hentes ud fra databasen ud fra sprog.

Jeg har tænkt følgende tanke:
1. En sides tekst hentes fra db og stoppes i en variabel.
2. Teksten checkes for links (<a href>) og disse får eks. lan=dk sat i rumpettet.

Mit problem er at jeg ved der kunne dukke flere sprog op senere og derfor har jeg brug for hjælp til at lave en lille funktion der kan ovenstående, dog med følgende bemærkninger:

Alle links der skal indeholde sprog, har ikke angivelse af domæne og land ( eks. <a class="links" href="kontakt.php">Kontakt</a>).
Derfor skal funktionen indeholde et array, indholdende de landekoder jeg vælger (eks. dk, no, se, com).

Funktionen skal tage højde for at nogle links allerede indholder variabler og der skal derfor sættes korrekt skilletegn (f.eks. ?lan=dk eller &lan=dk).

Lyder det fuldstændig vanvittigt?
Avatar billede Slettet bruger
05. september 2005 - 20:29 #1
Hmmm.. det gik vist lidt hurtigt...
Links der indeholder landekode skal ikke have en variabel med sprog i rumpetten, da de altid vil henvis til eksterne sider.
Avatar billede showsource Seniormester
05. september 2005 - 20:38 #2
til en "sprogside" er jeg kun til cookies
altså tjek om en cookie er sat, og er den det, så hent, og ellers hent default
Avatar billede Slettet bruger
05. september 2005 - 20:42 #3
Hvis jeg så vælger dk som standard og der kommer en engelsk bruger ind og vælger engelsk, bookmarker siden og sender den til en kollega... vupti så vil siden være på dansk. Det bliver noget rod for kunderne.
Avatar billede showsource Seniormester
05. september 2005 - 20:47 #4
njahh, hvis der er tydeligt link til sprog, går det vel nok.
Men ok, hvis du bruger det i adresselinien, så vil det jo komme med rigtigt sprog. O)

Men jeg er nu heller lige helt med på dit problem.
Hvorfor kan der ikke komme andre sprog end norsk og dansk?
Hvis du kan ha' to, må det jo være muligt at putte flere på?
Avatar billede Slettet bruger
05. september 2005 - 20:51 #5
Firmaet havde .dk domænet.
Så købte de .no og ville have en version af hjemmeside på norsk.

Fint nok, jeg lavede det således at når brugeren gik ind på www.firmanavn.no, blev sproget automatisk sat til norsk og gik brugeren ind på www.firmanavn.dk, blev sproget sat til dansk.

Nu vil firmaet også have en engelsk version, uden at købe endnu et domænenavn.
Dvs. at www.firmanavn.dk = dansk
www.firmanavn.no = norsk
Avatar billede showsource Seniormester
05. september 2005 - 21:05 #6
ahh, på den måde.
Men det lyder jo lidt kringlet.
Hvordan er domæner sat op?
Altså, er det de samme filer du bruger, eller to "ens sæt" bare på deres sprog?
Avatar billede Slettet bruger
05. september 2005 - 21:12 #7
Selve php-filerne er det samme....

Går en bruger ind på en underside, har de de samme id uanset om de er på norsk eller dansk.

Jeg bruger så $_SESSION['language'] = "dk"  i min db-forespørgsel, så det rigtige tekst bliver hentet frem.
Avatar billede Slettet bruger
05. september 2005 - 21:20 #8
En lille kommentar til beskeden 20:47

Det kan jo netop være et problem, hvis f.eks. brugeren har bookmarked en artikel der kun findes på engelsk.

Når så kollegaen han har sendt linket til forsøget at gå ind på linket, vil siden bruge dk som sprog og så sende vedkommende til forsiden, da det er et "falsk" link....

Har jeg et link = nyhed.php?id=5 og brugeren ændrer 5 til 100, vil brugeren blive sendt til forsiden at nyheder, såfremt der ikke er en nyhed med det rigtige sprog, der har id=100.
Avatar billede showsource Seniormester
05. september 2005 - 21:24 #9
hmm, jeg er blank.
Evt. noget mere info om hvordan siden er bygget op, kan måske hjælpe?
Avatar billede showsource Seniormester
05. september 2005 - 21:27 #10
Og så vil jeg lige se om der nogen der gider at spille billard på en af de lokale!
Avatar billede Slettet bruger
06. september 2005 - 18:29 #11
Bliver nok nødt til at bide i det sure æble og sætte id efter alle links :o(

Læg et svar og du får halvdelen af pointene for din tid.
Avatar billede showsource Seniormester
06. september 2005 - 20:28 #12
Nej det ok, du fik jo desværre ikke et brugbart svar.
Avatar billede Slettet bruger
07. september 2005 - 10:31 #13
Jamen, så takker jeg :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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