|
| Automatisk index side for lande? Fra : Peer Vehn |
Dato : 01-08-07 16:16 |
|
Hej
Hvordan laver man et automatisk index som reg. hvor i verden du
gå ind på en hp eks. en dansker gå ind på siden og så er siden på
dansk, en svensker gå ind på siden og så er siden på svensk, en
englænder gå ind på siden og så er siden på engelsk osv. osv.
siden skal gøre det automatisk og gå ind på det rette sprog for
landet.
Er der nogle der kan hjælpe med dette?
På forhånd tak!
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Konrad (01-08-2007)
| Kommentar Fra : Konrad |
Dato : 01-08-07 16:40 |
|
Peer Vehn wrote:
> Hej
>
> Hvordan laver man et automatisk index som reg. hvor i verden du
> gå ind på en hp eks. en dansker gå ind på siden og så er siden på
> dansk, en svensker gå ind på siden og så er siden på svensk, en
> englænder gå ind på siden og så er siden på engelsk osv. osv.
> siden skal gøre det automatisk og gå ind på det rette sprog for
> landet.
>
> Er der nogle der kan hjælpe med dette?
> På forhånd tak!
Du er nødt til at bruge et serversidescript. Det kan ikke gøres med HTML
eller f.eks Javascript.
I PHP kan du slå IP-adressen op med $_SERVER['REMOTE_ADDR'] - IP-adressen
kan du så mappe op imod http://ip-to-country.webhosting.info/ - jeg har ikke
selv prøvet deres service, men det behøver du heller ikke - du kan downloade
hele IP-2-country filen som regneark, og så selv gøre med den hvad du vil.
Den skulle være 98% korrekt.
| |
Bertel Lund Hansen (01-08-2007)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 01-08-07 17:34 |
|
Konrad skrev:
> I PHP kan du slå IP-adressen op med $_SERVER['REMOTE_ADDR'] - IP-adressen
> kan du så mappe op imod http://ip-to-country.webhosting.info/ -
Så er det bare surt at være en dansker der er udstationeret i
Thailand. Så får man hjemmesiden serveret på thailandsk.
Det er bedre at tjekke hvilket sprog browseren benytter (jeg ved
ikke hvordan), og allerbedst at lade brugeren selv vælge sprog.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Konrad (01-08-2007)
| Kommentar Fra : Konrad |
Dato : 01-08-07 18:20 |
|
Bertel Lund Hansen wrote:
> Konrad skrev:
>
>> I PHP kan du slå IP-adressen op med $_SERVER['REMOTE_ADDR'] -
>> IP-adressen kan du så mappe op imod
>> http://ip-to-country.webhosting.info/ -
>
> Så er det bare surt at være en dansker der er udstationeret i
> Thailand. Så får man hjemmesiden serveret på thailandsk.
Naturligvis. Metoden er tilmed usikker og "dyr" i opslag. Selv ville jeg da
også aflæse sproget.
> Det er bedre at tjekke hvilket sprog browseren benytter (jeg ved
> ikke hvordan),
navigator.language/navigator.browserLanguage
>og allerbedst at lade brugeren selv vælge sprog.
Ja.
| |
Lasse Reichstein Nie~ (01-08-2007)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 01-08-07 19:47 |
|
"Konrad" <davidkonradFJERN@gmail.com> writes:
> Bertel Lund Hansen wrote:
>> Det er bedre at tjekke hvilket sprog browseren benytter (jeg ved
>> ikke hvordan),
>
> navigator.language/navigator.browserLanguage
Jeg bruger konsekvent engelske programmer, engelsk Windows og engelsk
som default-sprog i Windows. Jeg vil alligevel helst have danske sider
på dansk :)
>>og allerbedst at lade brugeren selv vælge sprog.
>
> Ja.
Absolut. Det er det eneste der virker.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Dyl (01-08-2007)
| Kommentar Fra : Dyl |
Dato : 01-08-07 17:02 |
|
> Hvordan laver man et automatisk index som reg. hvor i verden du
> gå ind på en hp eks. en dansker gå ind på siden og så er siden på
> dansk, en svensker gå ind på siden og så er siden på svensk, en
> englænder gå ind på siden og så er siden på engelsk osv. osv.
> siden skal gøre det automatisk og gå ind på det rette sprog for
> landet.
Dette er ikke heeelt den løsning du efterspørger, men måske du kan bruge det
alligevel? I dette tilfælde undersøger javascriptet om browserens
sprogindstillinger er tyske. Er de det, så viderstilles brugeren til
tyskland.html og ellers til alle_andre_lande.html
Indsæt i <HEAD></HEAD>:
<script type="text/javascript">
<!--
function Lvl_langRedirect(c,d,a){ //3.0 4LevelWebs
if(navigator.language){var l=navigator.language.split("-");}
if(navigator.browserLanguage){var l=navigator.userLanguage.split("-");}
if(l[0]==c){location.href=d}else{location.href=a}
}
//-->
</script>
Indsæt i <BODY>:
<body
onload="Lvl_langRedirect('nl','tyskland.html','alle_andre_lande.html')">
Håber du kan bruge det?
| |
Peer Vehn (01-08-2007)
| Kommentar Fra : Peer Vehn |
Dato : 01-08-07 18:13 |
|
> Dette er ikke heeelt den løsning du efterspørger, men måske du kan bruge det
> alligevel? I dette tilfælde undersøger javascriptet om browserens
> sprogindstillinger er tyske. Er de det, så viderstilles brugeren til
> tyskland.html og ellers til alle_andre_lande.html
>
> Indsæt i <HEAD></HEAD>:
>
> <script type="text/javascript">
> <!--
> function Lvl_langRedirect(c,d,a){ //3.0 4LevelWebs
> if(navigator.language){var l=navigator.language.split("-");}
> if(navigator.browserLanguage){var l=navigator.userLanguage.split("-");}
> if(l[0]==c){location.href=d}else{location.href=a}
> }
> //-->
> </script>
>
> Indsæt i <BODY>:
>
> <body
> onload="Lvl_langRedirect('nl','tyskland.html','alle_andre_lande.html')">
>
Mange tak, dette er det jeg ønsker.
Men hvordan ved browseren hvad for et html side den skal åben?
Jeg spørg måske dumt men er ikke så god til det med java og koder, skal jo lige
lære det...
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Dyl (05-08-2007)
| Kommentar Fra : Dyl |
Dato : 05-08-07 18:14 |
|
>> onload="Lvl_langRedirect('nl','tyskland.html','alle_andre_lande.html')">
> Mange tak, dette er det jeg ønsker.
> Men hvordan ved browseren hvad for et html side den skal åben?
nl er forkortelsen for det sprog browseren benytter. Det skal udskiftes med
forkortelsen for det sprog du vil kontrollere for. Benyttes det pågældende
sprog, så viderestilles den besøgende til - i dette tilfælde -
tyskland.html. Den side kan du selv bestemme hvad skal være.
/^
Dyl
| |
Karl Erik Christense~ (01-08-2007)
| Kommentar Fra : Karl Erik Christense~ |
Dato : 01-08-07 18:37 |
|
Den Wed, 01 Aug 2007 15:16:10 +0000 skrev Peer Vehn:
> Hej
>
> Hvordan laver man et automatisk index som reg. hvor i verden du
> gå ind på en hp eks. en dansker gå ind på siden og så er siden på
> dansk, en svensker gå ind på siden og så er siden på svensk, en
> englænder gå ind på siden og så er siden på engelsk osv. osv.
> siden skal gøre det automatisk og gå ind på det rette sprog for
> landet.
>
> Er der nogle der kan hjælpe med dette?
> På forhånd tak!
>
Du gør det med php:
<?php
if(strstr($HTTP_ACCEPT_LANGUAGE,"en-us")) {
Header("Location: http://www.ditdomæne.com/index_en.php");
}
elseif(strstr($HTTP_ACCEPT_LANGUAGE,"de")) {
Header("Location: http://www.ditdomæne.com/index_de.php");
}
//If none of the above languages are found, it redirects here
else {Header("Location: http://www.ditdomæne.com/index_da.php");
}
?>
Lav selv flere elseif sætninger, en for hvert sprog du har (glem ikke den
sidste(
--
Med venlig hilsen
Karl Erik Christensen
www.ranunkelvej.com Vin www.ranunkelvej.com/sai/
| |
Michael Haase (01-08-2007)
| Kommentar Fra : Michael Haase |
Dato : 01-08-07 20:44 |
|
Karl Erik Christensen skrev dette den 01-08-2007 19:37:
>
> Du gør det med php:
>
> <?php
>
> if(strstr($HTTP_ACCEPT_LANGUAGE,"en-us")) {
>
> Header("Location: http://www.ditdomæne.com/index_en.php");
>
> }
>
> elseif(strstr($HTTP_ACCEPT_LANGUAGE,"de")) {
>
> Header("Location: http://www.ditdomæne.com/index_de.php");
>
> }
>
> //If none of the above languages are found, it redirects here
>
> else {Header("Location: http://www.ditdomæne.com/index_da.php");
>
> }
>
> ?>
Virker det ikke kun, hvis man kun har valgt *ET* sprog i indstillingerne?
Man kan jo forestille sig en svensker, som har indstillet browseren til
at vise sider på følgende sprog, i prioriteret rækkefølge:
sv, no, en-gb, de
han vil så blive henvist til den danske side, mens han jo faktisk burde
komme ind på den engelske eller tyske. (Alt efter om den
brittisk-engelske og den brittisk-amerikanske side er ens eller ej)
--
Michael Haase
| |
Jens Gyldenkærne Cla~ (01-08-2007)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 01-08-07 22:55 |
|
Michael Haase skrev:
> Virker det ikke kun, hvis man kun har valgt *ET* sprog i
> indstillingerne?
Både og. Eksempelkoden kigger efter om den søgte sprogkode findes i
headeren, så hvis et af de sprog der kigges efter findes, bliver
brugeren sendt derhen. Problemet er bare at prioriteringen ikke
overholdes - i eksemplet vil brugeren blive sendt til en-us-siden
hvis han har en-us i sin accept_language - uanset hvilken placering
den er på.
Det kan - og bør - løses ved at man læser sprogkoderne i
rækkefølge. Jeg lavede for en del år siden en sprogvælger i asp der
læser denne rækkefølge (og i øvrigt smider regionaltilføjelser -
som en-us/en-gb væk).
Den kan ses her: < http://gyros.dk/usenet/asp/sprog2.asp>
(Inkluderingsmetoden bør erstattes med en response.redirect, men
den kendte jeg ikke tilbage i 1999)
Man kan i øvrigt se hvad funktionen får at arbejde med ved at
besøge < http://gyros.dk/usenet/asp/sprog.asp>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (02-08-2007)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 02-08-07 22:37 |
|
Michael Haase skrev:
> Det burde faktisk give det resultat:
>
> Er første valget en-us? (Nej det er da) ->
Du antager at der kun kigges på førsteprioriteten - det mener jeg
ikke er tilfældet.
HTTP_ACCEPT_LANGUAGE er en simpel streng - hos mig ser den således
ud:
Firefox: da,en-us;q=0.7,en;q=0.3
IE: da,da-DK;q=0.7,sv;q=0.3
Opera: da-DK,da;q=0.9,en;q=0.8
Strstr er beskrevet på < http://dk.php.net/strstr> - hvor det
fremgår at den finder første forekomst af en streng og returnerer
strengen derfra.
strstr($HTTP_ACCEPT_LANGUAGE,"en-us") kørt på min Firefox-streng
herover bør - så vidt jeg kan se - returnere "en-us;q=0.7,en;q=0.3"
- og en if på den streng vil give sand.
Noget helt andet er så at strstr ifølge samme side ikke bør bruges
til at teste for eksistensen af en substring (strpos er et bedre
valg).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (02-08-2007)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 02-08-07 22:42 |
|
Bertel Lund Hansen skrev:
>>>> Min egen browser har da som første valg og en og en/us som 2
>>>> og 3. Den bliver altid
> Det er lidt spøjst. Prøv at læse det her:
>
> Min browser har da som første valg en-us.
Fejllæsning. Første valg: "da", andet valg "en", tredje: "en/us".
At en/us så ikke indgår som en mulighed i nogle af de browsere jeg
kender, er en anden sag. I IE7 kan man i øvrigt ikke vælge "en" -
men kun regionale udgaver (ved ikke om det også gælder ældre IE-
udgaver).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Karl Erik Christense~ (02-08-2007)
| Kommentar Fra : Karl Erik Christense~ |
Dato : 02-08-07 05:26 |
|
Den Wed, 01 Aug 2007 21:43:39 +0200 skrev Michael Haase:
> Karl Erik Christensen skrev dette den 01-08-2007 19:37:
>
>>
>> Du gør det med php:
>>
>> <?php
>>
>> if(strstr($HTTP_ACCEPT_LANGUAGE,"en-us")) {
>>
>> Header("Location: http://www.ditdomæne.com/index_en.php");
>>
>> }
>>
>> elseif(strstr($HTTP_ACCEPT_LANGUAGE,"de")) {
>>
>> Header("Location: http://www.ditdomæne.com/index_de.php");
>>
>> }
>>
>> //If none of the above languages are found, it redirects here
>>
>> else {Header("Location: http://www.ditdomæne.com/index_da.php");
>>
>> }
>>
>> ?>
>
> Virker det ikke kun, hvis man kun har valgt *ET* sprog i indstillingerne?
>
> Man kan jo forestille sig en svensker, som har indstillet browseren til
> at vise sider på følgende sprog, i prioriteret rækkefølge:
>
> sv, no, en-gb, de
>
> han vil så blive henvist til den danske side, mens han jo faktisk burde
> komme ind på den engelske eller tyske. (Alt efter om den
> brittisk-engelske og den brittisk-amerikanske side er ens eller ej)
>
I mit eksempel bruger jeg:
if - en/us
elseif - en
else - da
men jeg har også "kun" brug for at engelsk talende browsere kommer til
engelske sider. Min egen browser har da som første valg og en og en/us som
2 og 3. Den bliver altid sendt til de danske sider, men jeg ved, at folk
der har en som nr. 1 kommer til de engelske sider (Syd Afrika).
Men du kan jo også nøjes med en side og så placere en række små flag som
folk kan trykke på, det ses tit.
Mærkelige kombinationer som en svensker, der bor i Thailand og ønsker
sider vist på Hindu ?? må du eksperimentere dig frem til
--
Med venlig hilsen
Karl Erik Christensen
www.ranunkelvej.com Vin www.ranunkelvej.com/sai/
| |
Jens Gyldenkærne Cla~ (02-08-2007)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 02-08-07 14:57 |
|
Karl Erik Christensen skrev:
> I mit eksempel bruger jeg:
> if - en/us
> elseif - en
> else - da
> men jeg har også "kun" brug for at engelsk talende browsere
> kommer til engelske sider. Min egen browser har da som første
> valg og en og en/us som 2 og 3. Den bliver altid sendt til de
> danske sider,
Det lyder mærkeligt - godt nok er jeg ikke php-mand, men så vidt
jeg kan se burde din kode ikke give det resultat.
Kan du evt. linke til siden (så man kan afprøve hvordan den virker
med forskellige indstillinger)?
--
Jens Gyldenkærne Clausen
| |
Michael Haase (02-08-2007)
| Kommentar Fra : Michael Haase |
Dato : 02-08-07 21:45 |
|
Jens Gyldenkærne Clausen skrev dette den 02-08-2007 15:57:
> Karl Erik Christensen skrev:
>
>> I mit eksempel bruger jeg:
>> if - en/us
>> elseif - en
>> else - da
>> men jeg har også "kun" brug for at engelsk talende browsere
>> kommer til engelske sider. Min egen browser har da som første
>> valg og en og en/us som 2 og 3. Den bliver altid sendt til de
>> danske sider,
>
>
> Det lyder mærkeligt - godt nok er jeg ikke php-mand, men så vidt
> jeg kan se burde din kode ikke give det resultat.
>
Det burde faktisk give det resultat:
Er første valget en-us? (Nej det er da) ->
Er første valget de? (nope det er stadig da) ->
og da ingen af de 2 er opfyldt, så skal den vise den danske side.
--
Michael Haase
| |
Bertel Lund Hansen (02-08-2007)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 02-08-07 21:57 |
|
Michael Haase skrev:
>>> kommer til engelske sider. Min egen browser har da som første
>>> valg og en og en/us som 2 og 3. Den bliver altid sendt til de
>>> danske sider,
>> Det lyder mærkeligt - godt nok er jeg ikke php-mand, men så vidt
>> jeg kan se burde din kode ikke give det resultat.
> Det burde faktisk give det resultat:
Det er lidt spøjst. Prøv at læse det her:
Min browser har da som første valg en-us.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Thrane (02-08-2007)
| Kommentar Fra : Thrane |
Dato : 02-08-07 21:38 |
|
"Peer Vehn" <peer.vehn@gmail.com> wrote in message
news:46b0a3ba$0$90268$14726298@news.sunsite.dk...
> Hej
>
> Hvordan laver man et automatisk index som reg. hvor i verden du
> gå ind på en hp eks. en dansker gå ind på siden og så er siden på
> dansk, en svensker gå ind på siden og så er siden på svensk, en
> englænder gå ind på siden og så er siden på engelsk osv. osv.
> siden skal gøre det automatisk og gå ind på det rette sprog for
> landet.
>
> Er der nogle der kan hjælpe med dette?
> På forhånd tak!
>
Ville det ikke være en idé at lade brugeren vælge hvilket sprog han ønsker
at læse siden på og så gemme det som en cookie på brugerens computer?
--
Thrane
| |
|
|