Avatar billede M_IB Nybegynder
29. oktober 2013 - 09:05 Der er 27 kommentarer og
1 løsning

script til valg af Dansk, Engelsk el. Svensk landing site

Har side payvend.com som er Dansk, nu skal der skal laves en Engelsk og Svensk udgave. Jeg vil gerne have et script i header der sender svenske besøgende direkte til svensk forside og ligeså de engelske.

Kan nogen hjælpe med sådan en løsning :-)
Avatar billede claes57 Ekspert
29. oktober 2013 - 10:29 #1
lidt php?
via siden http://www.hostip.info/use.html
kan du med et enkelt kald få brugerens land ud fra ip-adressen.
http://api.hostip.info/country.php
  US

så du skal lave en startside der bare kalder denne api, og deler svaret i DK, SV, alle andre=UK - landet gemmes i en session-variabel, og evt cookie så det huskes næste gang bruger kommer forbi. Der bør også være mulighed for at vælge sprog/land fra fx overskriften på siderne.
Avatar billede M_IB Nybegynder
29. oktober 2013 - 11:08 #2
det lyder rigtigt :-)

men jeg er ikke nogen programmerings haj, og forstår desværre ikke helt det der er beskrevet på hostip.info...

hvor meget skal jeg have indsat i min head'er?
Avatar billede claes57 Ekspert
29. oktober 2013 - 11:53 #3
jeg har fundet en lidt lettere vej
http://www.developershome.com/wap/detection/detection.asp?page=readHeader
så er det bare
accept_language = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
og teste på da/sv/alt andet
koden skal være det første der sker på fx index.asp.
Jeg ved ikke, om du vil lave helt adskilte sider til hvert sprog, eller om det er fælles opbygning, og kun tekster, der skiftes ud.
Avatar billede M_IB Nybegynder
29. oktober 2013 - 12:56 #4
vi laver adskilte sider på hvert sprog, det ligger i det publisher v3.1 som vi tilgår sitet med. Der kan vi oprette sprog og det giver os så:
http://www.payvend.com/?lang=dk
http://www.payvend.com/?lang=se
http://www.payvend.com/?lang=en
og disse har hver deres forside og undersider

giver det mening?  :-)
Avatar billede claes57 Ekspert
29. oktober 2013 - 13:40 #5
prøv med dette i starten af index.asp
<%
strlang = lcase(request("lang"))
If strlang <> "dk" and strlang <> "se" and strlang <> "uk" Then
    strlang = lcase(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"))
    if strlang = "da" then
        Response.Redirect("http://www.payvend.com/?lang=dk")
    if strlang = "se" then
        Response.Redirect("http://www.payvend.com/?lang=se")
    else
        Response.Redirect("http://www.payvend.com/?lang=uk")
    end if
end if
%>

hvis sprog er kendt (dk, se, uk) så ok - ellers finder den en af dem og loader sig selv igen, så sprog er valgt. Alle andre end de tre vil bare reloade siden.
Avatar billede M_IB Nybegynder
29. oktober 2013 - 16:20 #6
skal det placeres i head?
og
jeg er ikke sikker på at vores index er asp?
vil det også virke på html?
Avatar billede claes57 Ekspert
29. oktober 2013 - 16:28 #7
hvis det er index.php, så har du valgt forkert kategori - men det er nogenlunde det samme - dette er dog asp, og virker kun der. Vend tilbage med navn på index-filden.
Avatar billede M_IB Nybegynder
29. oktober 2013 - 17:59 #8
sorry!
én jeg troede havde tjek på det har fortalt mig at det var ASP.NET
jeg tjekker der hvor det er hosted imorgen :-)
Avatar billede M_IB Nybegynder
30. oktober 2013 - 08:38 #9
god morgen!

har nu talt med scannet som hoster, det er en asp server sitet ligger på.
Men start filen hedder default.asp
Avatar billede claes57 Ekspert
30. oktober 2013 - 08:53 #10
så skal du bare lige kopiere linjerne fra #5 ind i starten af koden på default.asp
dvs det skal ligge som de første linjer - brug en alm editor til det - notebook kan klare det.
Avatar billede M_IB Nybegynder
30. oktober 2013 - 10:05 #11
fra #5?  :-)

er det sådan ?

<%
if strlang = "da" then
        Response.Redirect("http://www.payvend.com/?lang=dk")
    if strlang = "se" then
        Response.Redirect("http://www.payvend.com/?lang=se")
    else
        Response.Redirect("http://www.payvend.com/?lang=uk")
    end if
end if
%>
Avatar billede claes57 Ekspert
30. oktober 2013 - 10:14 #12
du mangler et par linjer i starten
Avatar billede M_IB Nybegynder
30. oktober 2013 - 10:54 #13
ja, men så forstår jeg ikke hvad du mener med: "kopiere linjerne fra #5" ?

jeg er altså ikke så erfaren i dette!!
Avatar billede claes57 Ekspert
30. oktober 2013 - 11:04 #14
alt mellem stregerne (du manglede de første 3 linjer)
----------------
<%
strlang = lcase(request("lang"))
If strlang <> "dk" and strlang <> "se" and strlang <> "uk" Then
    strlang = lcase(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"))
    if strlang = "da" then
        Response.Redirect("http://www.payvend.com/?lang=dk")
    if strlang = "se" then
        Response.Redirect("http://www.payvend.com/?lang=se")
    else
        Response.Redirect("http://www.payvend.com/?lang=uk")
    end if
end if
%>
----------------
Avatar billede M_IB Nybegynder
30. oktober 2013 - 11:09 #15
nå nu er jeg med, altså som det første efter <head> ?
Avatar billede claes57 Ekspert
30. oktober 2013 - 11:14 #16
det skal ligger allerførst - det er kode, som serveren kører før den begynder at sende noget til brugeren.
Avatar billede M_IB Nybegynder
30. oktober 2013 - 11:16 #17
OK, der kan jeg ikke umiddelbart få lov at lægge noget ind...
må tage fat i scannet og høre hvordan jeg kan gøre dette
Avatar billede claes57 Ekspert
30. oktober 2013 - 11:32 #18
typisk skal du med et ftp-program (en stifinder på nettet) logge ind på dit domæne, og hente filen til din pc. Så retter du i den, og uploader den igen via ftp.
Avatar billede M_IB Nybegynder
01. november 2013 - 08:27 #19
Hold da op de der Scannet er lidt tunge at danse med!

De skriver til mig:
"Da det er et cms system kan vi ikke gå ind og ændre i den direkte i asp filen."
og
"Dertil skal det nævnes at i ikke kan bruge asp kode, men istedet skal bruge javascript kode.
En anden ting i lige have med er at hvis i laver den på nedenstående måde, så vil det ikke virke optimalt, fordi så snart man er inde på siden og går ind på en underside så har siden ikke language tagget med længere, og så vil du bare blive redirected om til forsiden istedet for at komme ind på undersiden pga scriptet."

(nedestående måde = med den du skitserede)

Er det mon rigtigt? eller har de ikke forstået hvad jeg vil?
Avatar billede claes57 Ekspert
01. november 2013 - 09:03 #20
Jeg kender ikke CMS-systemet, men det er da muligt, at det selv finder ud af sprog hvis der er lavet sider på flere sprog. Typisk vil den så have en default-værdi (fx engelsk) og nogle flag-ikoner, hvor bruger vælger at skifte til fx dansk. Det valg gemmes så i cookie på brugers pc, så den kører det valgte fremover.
Avatar billede M_IB Nybegynder
01. november 2013 - 11:34 #21
Man kan indsætte flag ikoner i menu, men fra Sverige lander man på den danske forside alligevel.

Kan din kode laves som javascript kode som de skriver? så kan jeg nemlig selv smide den ind i head'eren?
Avatar billede claes57 Ekspert
01. november 2013 - 13:02 #22
det bliver ikke så godt, da den så kun kan teste på browserens sprog. Vi kan nok gå ud fra, at fx en firefox på dansk også er hjemhørende i dk - men der er jo en helt del der kører med engelsk programpakke på maskinen, og der vil den så vælge uk-versionen som standard.
Avatar billede M_IB Nybegynder
01. november 2013 - 14:50 #23
ja det kan jeg godt se, men det er jo bedre end ingen ting, så kommer de da i det mindste til en engelsk side som de fleste jo kan læse.

den første ide med at aflure ip, kan den bruges i javascript?
Avatar billede claes57 Ekspert
01. november 2013 - 15:05 #24
nix - ip skal hentes fra server-siden (asp/php).
Avatar billede M_IB Nybegynder
01. november 2013 - 15:44 #25
nå - men er du også javascribt haj eller er det en anden kategori?

for så må vi jo leve med den browser sprog model!
Avatar billede claes57 Ekspert
01. november 2013 - 16:26 #26
det bliver et bedre resultat hvis du får en anden til det... Så bare luk selv her, og opret nyt (i javascript - ikke java)
Avatar billede M_IB Nybegynder
01. november 2013 - 16:38 #27
nej nej - smid et svar, jeg har skal lært noget!:-)
Avatar billede claes57 Ekspert
01. november 2013 - 16:46 #28
ok
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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