Avatar billede jgc Nybegynder
15. februar 1999 - 00:00 Der er 18 kommentarer og
1 løsning

Automatisk valg af dansk eller engelsk side

Når man har et site med en dansk og en engelsk afdeling ville det være rart hvis man kunne sende danske brugere til de danske sider og engelske brugere til engelske sider. Man kan via ASP checke
Browservariablen http_accept_language", som vil (bør) starte med "da" for dansktalende brugere og "en" for engelsktalende. Er der nogen der kan lave en sådan funktion? (m. response.redirect el. lign.)
Funktionen kan evt. udbygges til at checke mere af "http_accept_language" - således at en streng som "se,no,da,en q=0.4" går til en dansk side ("da" før "en"), "se,en,no,da" til en engelsk side
("en" før "da"), "no" til en dansk side (Vi forudsætter at nordmænd kan læse engelsk) etc. Der skal nok også testes for om variablen er tom - i så fald skal der hentes den danske side.
Avatar billede thomas Nybegynder
15. februar 1999 - 16:58 #1
Jeg vil nok passe på med denne metode redirection. IBM havde gjort nogenlunde det samme, at når man gik ind på deres site var det på dansk, MEN det virkede også kun lige indtil at vi fik fjernet vores A record i vores domæne(de slog det op via REMOTE_HOST og så det var et dk domæne), og hvad så når folk kører rent engelsk (os, browser o.s.v.) ligesom mig??? Det er smart når det virker men det virker ikke hos alle, hvad hvis de f.eks. bruger en firewall der filtrerer de oplysninger fra!
Avatar billede jgc Nybegynder
15. februar 1999 - 17:04 #2
Man vælger selv sprogpreferencer i Netscape/IE 4.x. Dvs. at du sagtens kan have dansk som foretrukkent websprog, selv om du har engelsk/amerikansk browser/OS. Opslaget har ikke noget at gøre med den computer eller det domæne en bruger sidder på - kun hvorledes han/hun har instillet sin browser. Det gør ikke noget at det ikke virker for alle - man kan stadig skifte manuelt mellem dk-forside og uk-forside.
Avatar billede long Nybegynder
15. februar 1999 - 17:06 #3
Det kan da så gøres på en anden måde:
Man kan se hvilket IP nummer folk har og dermed se om de surfer på den danske del af ledningen.

Hvis det er for besværligt via IP, kunne man da stadig bruge "jgc"'s forslag, således at hvis folk har "da" ryger de til den danske; Har de andet end "da" ryger de til den engelske eller en side hvor de kan vælge sprog.
Avatar billede jgc Nybegynder
15. februar 1999 - 17:10 #4
Jeg har med vilje ikke ville bruge IP-numre til sprog-genkendelse. Der findes danske surfere i udlandet og (endnu flere) udenlandske surfere i Danmark. Man har ikke indflydelse på sin IP-adresse, det har man på language-variablen.
Avatar billede thomas Nybegynder
15. februar 1999 - 17:11 #5
hvorhenne vil du slå op hvilket land en given ipadresse befinder sig i???

Og det virker heller ikke altid korrekt!! Du kan godt have en firewall stående i danmark som styrer sikkerhed for et svenskt og et dansk firma (der hvor jeg arbejder f.eks.), hvor det ser ud som om at alle i firmaet surfer rundt på den samme ipadresse når de er ude i den store verden!
Avatar billede long Nybegynder
15. februar 1999 - 17:22 #6
piiiiiiiv, ok, så ved jeg det.
"jgc", hvis du laver funktionen må du da meget gerne offentliggøre den.
:)
Avatar billede long Nybegynder
15. februar 1999 - 17:25 #7
Hvad er i øvrigt en A record?
Avatar billede thomas Nybegynder
15. februar 1999 - 17:29 #8
Ja, nu skal jeg ikke rode mig ud i de sygeste forklaringer! Men f.eks. har det noget at gøre med om de kan se(via REMOTE_HOST) thomas.xxx.dk eller om de bare kan se min ip-adresse. Man skal også have en A record(siger min domæne ekspert ven, jeg mener han har ret) for at kunne nøjes med at kunne skrive xxx.dk istedet for www.xxx.dk
Avatar billede arnem Nybegynder
15. februar 1999 - 19:55 #9
<%
if NOT left(Request.ServerVariables("http_accept_language"),2)  = "da" then
Response.redirect "EnglishPage.asp"
else
Response.redirect "DanskSide.asp"
End if
%>


- Mads
Avatar billede jgc Nybegynder
16. februar 1999 - 12:51 #10
Tak for hjælpen. Jeg har videreudviklet lidt, så den endelige side nu ser således ud:
****** default.asp ******
<%
' Sprogvælger. Udviklet 1999 af Jens Gyldenkærne Clausen /jc@dmf.dk
' med behørig starthjælp fra "arnem" på eksperten.dk
' Programmet undersøger variablen "http_accept_language" og vælger dansk eller engelsk
' version. Brugere kan selv sætte denne variabel i deres browser.
public sprogarray
sprog=Request.ServerVariables("http_accept_language")
if not sprog="" then
  sprogarray=split(sprog, ",")          ' Sprogarray indeholder nu de enkelte sprogkoder
  max=ubound(sprogarray)               
  for counter = 0 to max                ' Nu løbes alle sprog igennem og testes
    fsprog=left(sprogarray(counter),2)  ' Vi skal kun bruge de første 2 tegn af sprogkoden
    select case fsprog
      case "da"                        ' Hvis sproget er dansk
        Response.redirect "home.htm"    ' ...så kald den danske side
      case "en"                            ' Hvis sproget er engelsk eller amerikansk
        Response.redirect "uk_home.htm" ' ...så kald den engelske side
      case "no", "sv"                  ' Hvis sproget er norsk eller svensk
        dkpref = 1                      ' forstår brugeren formentlig dansk
    end select
  next
  if dkpref=1 then                      ' Hvis brugeren har "sv" eller "no", men hverken "da" eller "en"
    Response.redirect "home.htm"        ' ...skal han sendes til den danske side
  else
    Response.redirect "uk_home.htm"    ' Ingen af koderne (da, en, sv, no) findes i "sprog"
  End if
else                                    ' Brugeren har en tom variabel -> dansk side
  Response.redirect "home.htm"
End if
%>
****** slut på default.asp ******
I kan se resultatet på http://www.dmamusic.dk
PS: jeg skal nok acceptere svaret - jeg vil bare kommentere først.
Avatar billede med Nybegynder
16. februar 1999 - 12:58 #11
Man kan godt acceptere og kommentere på samme tid...
Avatar billede thomas Nybegynder
16. februar 1999 - 13:27 #12
stakkel, jeg kan se at i bruger C@talog ....

det har jeg klart haft mine problemer med! Det crasher webserveren o.s.v.
Avatar billede jgc Nybegynder
16. februar 1999 - 13:35 #13
Vi har nu ikke haft problemer endnu. I hvilke situationer/på hvilket system har du haft crash?
Vi bruger Cat@log 2.54 på en NTServer med IIS4.
Avatar billede thomas Nybegynder
16. februar 1999 - 13:40 #14
vi bruger isapi udgaven på en iis3(www.ecco.com), og isapi dll'en crasher webserveren efter et par dage/uger, kan jeg se i eventloggen, det eneste jeg kan gøre er at reboote deres webserver.

jeg er igang med at afprøve cgi udgaven (den samme som i bruger) efter aftale med nogle folk fra catalog int. På min udviklings maskine har jeg dog aldrig haft problemer!
Avatar billede jgc Nybegynder
16. februar 1999 - 13:44 #15
Vi har fravalgt isapi-udgaven, fordi den gør det særdeles besværligt at uploade nye data (der er en effektiv fillås på databasen). CGI-udgaven kører som nævnt uden problemer.
Avatar billede thomas Nybegynder
16. februar 1999 - 14:30 #16
kører i på en access løsning?? For det er dog hamrende irriterende med isapi at den ALDRIG frigiver DB'en. Måske er der ikke problemer med cgi udgaven ... jeg håber!!!
Avatar billede jgc Nybegynder
16. februar 1999 - 14:31 #17
Yes - vi bruger Access :(
Access + Isapi = :(
Access + CGI = :)
Avatar billede thomas Nybegynder
16. februar 1999 - 14:34 #18
problemet for mig er at der også kører en tidligere sæson der crasher webserveren, fordi den kører isapi, mens den nye sæson kører cgi!
Avatar billede stoffer Nybegynder
17. marts 2000 - 10:28 #19
skal der brazilian hacking :)

http://www.dmamusic.dk
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