/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvad går der galt her?
Fra : Dennis Munding


Dato : 15-03-06 13:12

Hej NG!

Jeg har fulgt tråden "IP-adresse bestemt startside", da jeg selv har lavet
en hjemmeside, hvor det første brugeren møder er en side til valg af
sprog....
Jeg må indrømme, at løsningen med HTTP_ACCEPT_LANGUAGE tiltaler mig meget
mere, men jeg kan ikke få skidtet til at virke (jeg er jo kun newbie!):

En index-fil med følgende indhold, skulle gerne sende brugeren videre til en
side med det rigtige sprog tage ud fra HTTP_ACCEPT_LANGUAGE (håber I
forstår!?):

<?php
if($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'da') { /* Hvis sprog dansk */
header ("Location: dk/index.php"); /* spring til mappen dk og find index.php
*/
} elseif {
($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'lk') { /* Hvis sprog tamilsk */
header ("Location: lk/index.php"); /* spring til mappen lk og find index.php
*/
} else {
header ("Location: uk/index.php"); /* ellers spring til mappen uk og find
index.php */
}
?>

Men så simpelt er det desværre ikke...
Hvad gør jeg galt??

På forhånd tak for svar!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



 
 
Michael Zedeler (15-03-2006)
Kommentar
Fra : Michael Zedeler


Dato : 15-03-06 13:19

Dennis Munding wrote:
> <?php
> if($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'da') { /* Hvis sprog dansk */

Der skal vist stå

if($_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'da')

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Peter Brodersen (15-03-2006)
Kommentar
Fra : Peter Brodersen


Dato : 15-03-06 14:28

On Wed, 15 Mar 2006 13:18:42 +0100, Michael Zedeler
<michael@zedeler.dk> wrote:

>if($_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'da')

For en god ordens skyld bør man nok finde et passende PEAR-modul til
formålet, der kan håndtere Accept-Language-strengen hensigtsmæssigt.

Min er fx "da,en-us;q=0.7,en;q=0.3". Så hurtige sammenligninger er nok
ikke på sin plads her.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Dennis Munding (15-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 15-03-06 17:17

Hej Peter!
"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:dv94s2$6lr$1@news.klen.dk...
>>if($_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'da')
>
> For en god ordens skyld bør man nok finde et passende PEAR-modul til
> formålet, der kan håndtere Accept-Language-strengen hensigtsmæssigt.

Her faldt jeg af i svinget....

> Min er fx "da,en-us;q=0.7,en;q=0.3". Så hurtige sammenligninger er nok
> ikke på sin plads her.

Que? A fatter minus....


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Peter Brodersen (17-03-2006)
Kommentar
Fra : Peter Brodersen


Dato : 17-03-06 07:52

On Wed, 15 Mar 2006 17:16:46 +0100, "Dennis Munding" <mail@invalid.dk>
wrote:

>> Min er fx "da,en-us;q=0.7,en;q=0.3". Så hurtige sammenligninger er nok
>> ikke på sin plads her.
>
>Que? A fatter minus....

Problemet er, at du i første omgang opererer i blinde.

Du kan starte med:
   print $_SERVER['HTTP_ACCEPT_LANGUAGE'];

Så kan du se præcis, hvad den er sat til i din browser. Du vil måske
opdage, at den ikke enten er sat til "da" eller til "en", men at den
kan holde en lang række sprogvalg og prioriteter.

For min browser er den fx "da,en-us;q=0.7,en;q=0.3".

Over til PHP. Her sammenligner du blot to strenge. For PHPs
vedkommende er $_SERVER['HTTP_ACCEPT_LANGUAGE'] blot en variabel som
så mange andre, og der er ikke noget magi involveret, der pludselig
skulle få den til at betragte den streng anderledes end så meget
andet.

Når du så sammenligner $_SERVER['HTTP_ACCEPT_LANGUAGE'] med "da" -
eller i mit tilfælde:
   if ("da,en-us;q=0.7,en;q=0.3" == "da") { .. noget .. }
- så vil det ganske enkelt ikke være korrekt.

Derfor bør man holde sig fra at håndtere HTTP_ACCEPT_LANGUAGE,
medmindre, man gør det gennemført, i stedet for at fuske et par linjer
sammen i hånden.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Dennis Munding (17-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 17-03-06 11:31

Hej Peter!
"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:dvdmdg$4ka$3@news.klen.dk...
>>Que? A fatter minus....
>
> Problemet er, at du i første omgang opererer i blinde.
>
> Du kan starte med:
> print $_SERVER['HTTP_ACCEPT_LANGUAGE'];
>
> Så kan du se præcis, hvad den er sat til i din browser. Du vil måske
> opdage, at den ikke enten er sat til "da" eller til "en", men at den
> kan holde en lang række sprogvalg og prioriteter.
>
> For min browser er den fx "da,en-us;q=0.7,en;q=0.3".
>
> Over til PHP. Her sammenligner du blot to strenge. For PHPs
> vedkommende er $_SERVER['HTTP_ACCEPT_LANGUAGE'] blot en variabel som
> så mange andre, og der er ikke noget magi involveret, der pludselig
> skulle få den til at betragte den streng anderledes end så meget
> andet.
>
> Når du så sammenligner $_SERVER['HTTP_ACCEPT_LANGUAGE'] med "da" -
> eller i mit tilfælde:
> if ("da,en-us;q=0.7,en;q=0.3" == "da") { .. noget .. }
> - så vil det ganske enkelt ikke være korrekt.
>
> Derfor bør man holde sig fra at håndtere HTTP_ACCEPT_LANGUAGE,
> medmindre, man gør det gennemført, i stedet for at fuske et par linjer
> sammen i hånden.

Som jeg forstår det, så kan man på ingen måde gardere sig 100% med
$_SERVER['HTTP_ACCEPT_LANGUAGE'] ??

Eller kan man? Hvis ja (og jeg har forstået det ret), så kræves der bare en
del mere kodning, end den smule jeg har fået foræret....??


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Michael Rasmussen (17-03-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 17-03-06 11:54

On Fri, 17 Mar 2006 11:31:07 +0100, Dennis Munding wrote:

>
> Som jeg forstår det, så kan man på ingen måde gardere sig 100% med
> $_SERVER['HTTP_ACCEPT_LANGUAGE'] ??
>
> Eller kan man? Hvis ja (og jeg har forstået det ret), så kræves der
> bare en del mere kodning, end den smule jeg har fået foræret....??
Jeg kan anbefale denne pear-pakke: http://pear.php.net/package/I18N
Den bliver brugt i bl.a. squirrelmail, og jeg har erfaringer fra pakken,
da jeg i sin tid skrev plugins til squirrelmail. Det virker eksemplarisk.


--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Peter Brodersen (17-03-2006)
Kommentar
Fra : Peter Brodersen


Dato : 17-03-06 12:52

On Fri, 17 Mar 2006 11:31:07 +0100, "Dennis Munding" <mail@invalid.dk>
wrote:

>Som jeg forstår det, så kan man på ingen måde gardere sig 100% med
>$_SERVER['HTTP_ACCEPT_LANGUAGE'] ??

Jo, man kan sagtens håndtere det, men hvis man vil bero sig på
Accept-Language, så skal man gøre det struktureret.

Ofte er problemet tilsvarende, at man blot sætter sin webserver op til
at håndtere svarene derefter (fx via Apaches MultiViews), hvilket ikke
er praktisk, idet anmodningen om hvilket sprog, man bruger, bliver
sendt med ethvert request, og det derfor kan være svært "permanent" at
skifte til et andet sprog.

Jeg må dog indrømme, at jeg selv føler at den medsendte
Accept-Language-string i praksis er ubrugelig. Jeg gætter på at en god
håndfuld browserebesøg fra danske brugere sendes med engelsk
Accept-Language, fordi det er standardindstillingen i en engelsk
Windows/IE (og sikkert også i en engelsk Firefox), og de færreste
almindelige brugere ændrer den indstilling.

Derudover har jeg haft mere bøvl end glæde ved at angive dansk sprog,
idet de eneste sites, der har ændret opførsel, har været førnævnte
overgearede, ugennemtænkte websider, der tror, at jeg hellere vil se
en dansk "Der er intet indhold her endnu"-side end en engelsk side med
reelt indhold.

Økonomisk set tror jeg, jeg ville vægte ip-lokation eller evt. reverse
dns højere.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Dennis Munding (15-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 15-03-06 13:39

Hej Michael!
"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:FCTRf.55$VG6.40@news.get2net.dk...
> Der skal vist stå
>
> if($_SERVER['HTTP_ACCEPT_LANGUAGE'] == 'da')

Det prøver jeg da lige!

(1 min. senere...) Det virker desværre heller ikke hos mig:
http://www.eds-denmark.dk/


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Dennis Munding (15-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 15-03-06 13:36

Hej igen!
"Dennis Munding" <mail@invalid.dk> skrev i en meddelelse
news:SvTRf.52$EI6.27@news.get2net.dk...

[SNIP - indledning]

Opdagede lige en fejl - det løste ikke problemet:
> <?php
> if($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'da') { /* Hvis sprog dansk */
> header ("Location: dk/index.php"); /* spring til mappen dk og find
> index.php */
^mellemrum, som ikke skal være der - blev fjernet - ingen
effekt...

Har så prøvet dette:

<?php
if(strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'da')) {
header("Location: dk/index.php");
} elseif {
(strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'lk')) {
header("Location: lk/index.php");
} else {
header("Location: uk/index.php");
}
?>

Heller ingen effekt....


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Steven A. Sejr (15-03-2006)
Kommentar
Fra : Steven A. Sejr


Dato : 15-03-06 14:56

Dennis Munding wrote in dk.edb.internet.webdesign.serverside.php:

<?php
if($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'da') { /* Hvis sprog dansk */
header ("Location: dk/index.php"); /* spring til mappen dk og find index.php
*/
} elseif {
($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'lk') { /* Hvis sprog tamilsk */
header ("Location: lk/index.php"); /* spring til mappen lk og find index.php
*/
} else {
header ("Location: uk/index.php"); /* ellers spring til mappen uk og find
index.php */
}
?>

Jeg ville mene at når du skal bruge en if sætning på den måde skal den se ca.
sådan ud:

if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) == 'da')
{
/* Hvis sprog dansk */
header ("Location: dk/index.php"); /* spring til mappen dk og find index.php
*/
elseif {
(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) == 'lk') { /* Hvis sprog tamilsk */
header ("Location: lk/index.php"); /* spring til mappen lk og find index.php
*/
} else {
header ("Location: uk/index.php"); /* ellers spring til mappen uk og find
index.php */
}

Du kan prøve dette, og se om det virker

Med venlig hilsen

Steven Sejr
Steven.sejr@gmail.com
Datafagtekniker


--
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

Dennis Munding (15-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 15-03-06 17:15

Hej Steven!
"Steven A. Sejr" <steven.sejr@gmail.com> skrev i en meddelelse
news:44181d01$0$15781$14726298@news.sunsite.dk...
> Jeg ville mene at når du skal bruge en if sætning på den måde skal den se
> ca.
> sådan ud:
>
> if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) == 'da')
> {
> /* Hvis sprog dansk */
> header ("Location: dk/index.php"); /* spring til mappen dk og find
> index.php
> */
> elseif {
> (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) == 'lk') { /* Hvis sprog tamilsk
> */
> header ("Location: lk/index.php"); /* spring til mappen lk og find
> index.php
> */
> } else {
> header ("Location: uk/index.php"); /* ellers spring til mappen uk og find
> index.php */
> }
>
> Du kan prøve dette, og se om det virker

Det har jeg så hermed gjort - desværre også uden resultat...

Men tak for forslaget!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Dan Storm (15-03-2006)
Kommentar
Fra : Dan Storm


Dato : 15-03-06 18:18

Dennis Munding skrev:
> Hvad gør jeg galt??
Du går ud fra at alle browsere leverer den samme streng som kun er da
eller lk! Min streng hedder da,en-us;q=0.7;en=0.3 og derfor vil dit
script ikke virke på f.eks. firefox.

Istedet bør du bruge eregi() og skrive noget i stil med:


<?php
if(eregi('da', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
header ("Location: dk/index.php");
}
elseif(eregi('lk', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
header ("Location: lk/index.php");
}
else
{
header ("Location: uk/index.php");
}
?>

Husk at gøre det muligt for brugeren at vælge et andet sprog, hvis dette
ikke skulle vælge den rigtige mulighed for brugeren.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Dennis Munding (15-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 15-03-06 22:27

Hej Dan!
"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:44184c4b$0$99987$edfadb0f@dread16.news.tele.dk...
> Dennis Munding skrev:
>> Hvad gør jeg galt??

> Du går ud fra at alle browsere leverer den samme streng som kun er da
> eller lk! Min streng hedder da,en-us;q=0.7;en=0.3 og derfor vil dit script
> ikke virke på f.eks. firefox.
>
> Istedet bør du bruge eregi() og skrive noget i stil med:
>
>
> <?php
> if(eregi('da', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
> {
> header ("Location: dk/index.php");
> }
> elseif(eregi('lk', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
> {
> header ("Location: lk/index.php");
> }
> else
> {
> header ("Location: uk/index.php");
> }
> ?>

Fantastisk! Det virker jo! (Tror jeg nok, for jeg kan ikke se, om den
springer til henholdsvis engelsk eller tamilsk forside, da min browser er
sat op til dansk...).

> Husk at gøre det muligt for brugeren at vælge et andet sprog, hvis dette
> ikke skulle vælge den rigtige mulighed for brugeren.

Det har jeg så hermed gjort:
http://www.eds-denmark.dk/

Mange tak for hjælpen!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Tidemann (17-03-2006)
Kommentar
Fra : Tidemann


Dato : 17-03-06 12:03

"Dennis Munding"
> Fantastisk! Det virker jo! (Tror jeg nok, for jeg kan ikke se, om den
> springer til henholdsvis engelsk eller tamilsk forside, da min browser er
> sat op til dansk...).
> http://www.eds-denmark.dk/
>

Jeg ved ikke hvad min er sat op til, men jeg får fint serveret en engelsk og
måske? en tamilsk side.

Det første afsnit vises sådan her:
fle;j 90k;; Mz;L fhyg;gFjpapy; f.ngh.j (c/j) tFg;gpy; fzpj> tpQ;Qhd ghlq;fis
khtl;l kj;jpapy; fw;Fk; khztH njhif mUfp te;jij mg;Nghija Gs;sp tpguq;fs;
Rl;bf;fhl;bd. ,jid vkJ khtl;lq;fspy; eptHj;jp nra;Ak; nghUl;L fle;j 7
tUlq;fSf;F Kd; cjakhdJjhd; EDS(Education Development Society) vd;W
miof;fg;;gLk; fy;tp mgptpUj;jp rq;fk;.

men det er nok opsætningen der gør det

--
Venlig hilsen
Marianne
design af: - www.ragdollys-cat-link.dk - www.dhejne.dk
www.formdinfremtid.dk - www.royalmontana.dk


Dennis Munding (17-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 17-03-06 16:41

Hej Marianne!
"Tidemann" <tidemann@2Youtdcadsl.dk (Slet 2You)> skrev i en meddelelse
news:441a9518$0$2106$edfadb0f@dtext02.news.tele.dk...
> Jeg ved ikke hvad min er sat op til, men jeg får fint serveret en engelsk
> og
> måske? en tamilsk side.

Hvis du klikker på dette link: http://www.eds-denmark.dk/ hvilket sprog får
du så serveret?
Den skulle gerne lande på den danske, hvis din browser er sat op til dansk,
men det er åbenbart lidt mere problematisk end som så - læs Peter Brodersens
svar til mig...

> Det første afsnit vises sådan her:
> fle;j 90k;; Mz;L fhyg;gFjpapy; f.ngh.j (c/j) tFg;gpy; fzpj> tpQ;Qhd
> ghlq;fis
> khtl;l kj;jpapy; fw;Fk; khztH njhif mUfp te;jij mg;Nghija Gs;sp tpguq;fs;
> Rl;bf;fhl;bd. ,jid vkJ khtl;lq;fspy; eptHj;jp nra;Ak; nghUl;L fle;j 7
> tUlq;fSf;F Kd; cjakhdJjhd; EDS(Education Development Society) vd;W
> miof;fg;;gLk; fy;tp mgptpUj;jp rq;fk;.

Ja, det er den tamilske side...

> men det er nok opsætningen der gør det

Nej, det er bare en manglende skrifttype på din pc - der et link på den
tamilske forside lige under menuen, hvor der står "Information (pop-up!)",
hvis du klikker på det (og tillader pop-up!), vil du kunne læse på engelsk,
at grunden til, at du ser de mærkelige tegn er, at du mangler en tamilsk
skrifttype, og at du kan downloade den fra pop-up-vinduet...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Tidemann (25-03-2006)
Kommentar
Fra : Tidemann


Dato : 25-03-06 01:52

"Dennis Munding" skrev
> "Tidemann" skrev i en meddelelse
> > Jeg ved ikke hvad min er sat op til, men jeg får fint serveret en engelsk
> > og
> > måske? en tamilsk side.
>
> Hvis du klikker på dette link: http://www.eds-denmark.dk/ hvilket sprog får
> du så serveret?

Dansk.......................

> Den skulle gerne lande på den danske, hvis din browser er sat op til dansk,

Jo, jo det gør den! Det glemte jeg at skrive

--
Venlig hilsen
Marianne
design af: - www.ragdollys-cat-link.dk - www.dhejne.dk
www.formdinfremtid.dk - www.royalmontana.dk


Peter Brodersen (17-03-2006)
Kommentar
Fra : Peter Brodersen


Dato : 17-03-06 07:57

On Wed, 15 Mar 2006 18:18:04 +0100, Dan Storm
<shadyz@_REMOVETHIS_err0r.dk> wrote:

>Istedet bør du bruge eregi() og skrive noget i stil med:

For en god ordens skyld:

- eregi og venner dør langt om længe i PHP6.
- ingen grund til at bruge eregi i stedet for fx stripos eller stristr
- den tager stadigvæk ikke højde for prioriteter, så ved "lk,da;q=0.5"
vil da-siden blive vist først.
- location-headeren kræver desværre en absolut URL.

>Husk at gøre det muligt for brugeren at vælge et andet sprog, hvis dette
>ikke skulle vælge den rigtige mulighed for brugeren.

... og sprogvalget må gerne huskes - i det mindste for den aktuelle
session, men også gerne længerevarende.

Der er rigtigt mange sider, deriblandt en sjat wikier, der er lidt for
glade for at vise den danske "Hej, denne wiki er tom, du kan skrive
noget på den!"-side i stedet for fx den engelske side, som er den
eneste med indhold. Man kan skifte sprog, men så snart, man klikker på
et link, springer de over til dansk igen.

Derudover havde fx Debian-siden et håbløst dansk for en sjat år siden,
og led netop under danske sider, som "lige var påbegyndt at blive
oversat".

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Dennis Munding (17-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 17-03-06 11:39

Hej Peter
"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:dvdmmf$4ka$4@news.klen.dk...
> On Wed, 15 Mar 2006 18:18:04 +0100, Dan Storm
> <shadyz@_REMOVETHIS_err0r.dk> wrote:
>
>>Istedet bør du bruge eregi() og skrive noget i stil med:
>
> For en god ordens skyld:
>
> - eregi og venner dør langt om længe i PHP6.
> - ingen grund til at bruge eregi i stedet for fx stripos eller stristr
> - den tager stadigvæk ikke højde for prioriteter, så ved "lk,da;q=0.5"
> vil da-siden blive vist først.
> - location-headeren kræver desværre en absolut URL.

Her faldt jeg (igen!) af i svinget....

>>Husk at gøre det muligt for brugeren at vælge et andet sprog, hvis dette
>>ikke skulle vælge den rigtige mulighed for brugeren.
>
> .. og sprogvalget må gerne huskes - i det mindste for den aktuelle
> session, men også gerne længerevarende.
>
> Der er rigtigt mange sider, deriblandt en sjat wikier, der er lidt for
> glade for at vise den danske "Hej, denne wiki er tom, du kan skrive
> noget på den!"-side i stedet for fx den engelske side, som er den
> eneste med indhold. Man kan skifte sprog, men så snart, man klikker på
> et link, springer de over til dansk igen.

Det skulle så ikke gerne være tilfældet (ved med sikkerhed, at det ikke er!)
på den side, som jeg arbejder med, men I er velkomne til selv at teste det.
Hvis I vælger at klikke på linket herunder, vil jeg foreslå, at I veksler
mellem den danske og den engelske version, da der kræves en speciel font til
den tamilske (hvilket der også gøres opmærksom på):

http://www.eds-denmark.dk/ - her skulle den så gerne vælge (det rigtige)
sprog ud fra brugerens browser, så man bliver lidt hen til én af følgende 3
sider:

http://www.eds-denmark.dk/dk/ - dansk
http://www.eds-denmark.dk/uk/ - engelsk
http://www.eds-denmark.dk/lk/ - tamilsk

> Derudover havde fx Debian-siden et håbløst dansk for en sjat år siden,
> og led netop under danske sider, som "lige var påbegyndt at blive
> oversat".

Endnu en gang må jeg sige: Que?!? (var vidst før min tid...)


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Peter Brodersen (17-03-2006)
Kommentar
Fra : Peter Brodersen


Dato : 17-03-06 12:57

On Fri, 17 Mar 2006 11:38:57 +0100, "Dennis Munding" <mail@invalid.dk>
wrote:

>> - eregi og venner dør langt om længe i PHP6.
>> - ingen grund til at bruge eregi i stedet for fx stripos eller stristr
>> - den tager stadigvæk ikke højde for prioriteter, så ved "lk,da;q=0.5"
>> vil da-siden blive vist først.
>> - location-headeren kræver desværre en absolut URL.
>Her faldt jeg (igen!) af i svinget....

1. PHP-funktionen eregi(), som Dan henviser til, vil ikke eksistere
længere i den kommende PHP6. Der går nok et par år, før den er ude på
webhoteller, men det kan være værd at have i baghovedet.

2. Funktionen eregi() kræver proportionelt meget mere af php, end
funktionerne stripos() eller stristr(), som jeg foreslog som
alternativer. For den ene operation i det store billede (hvor man
sandsynligvis har læssevis af øvrig kode) er der nok ikke nogen reel
forskel at mærke.

3. Brugeren kan have valgt flere sprog (ligesom jeg både har valgt
dansk og engelsk). Først tjekker den om brugeren har valgt dansk,
derefter om brugeren har valgt tamilsk. Men brugeren kan godt have
valgt tamilsk *og* dansk (hvor tamilsk er prioriteret højere end
dansk), men alligevel vil dansk blive valgt først med den kode.

4. Nogle browsere vil brokke sig over den måde, man viderestiller på.

>http://www.eds-denmark.dk/ - her skulle den så gerne vælge (det rigtige)
>sprog ud fra brugerens browser, så man bliver lidt hen til én af følgende 3
>sider:
>
>http://www.eds-denmark.dk/dk/ - dansk
>http://www.eds-denmark.dk/uk/ - engelsk
>http://www.eds-denmark.dk/lk/ - tamilsk

Det lader til at være en fin måde. Her sker omskriftningen én gang for
alle, og bliver ikke taget til overvejelse for hvert eneste besøg.
Plus, det er let at vælge et andet sprog.

>> Derudover havde fx Debian-siden et håbløst dansk for en sjat år siden,
>> og led netop under danske sider, som "lige var påbegyndt at blive
>> oversat".
>Endnu en gang må jeg sige: Que?!? (var vidst før min tid...)

En webside havde ulempen, at siderne på det danske sprog stort set
ikke indeholdt noget information. Her ville man have haft mere ud af
at se siden på det oprindelige sprog. Blot et eksempel
--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste