Avatar billede nythjem Nybegynder
19. december 2003 - 01:08 Der er 21 kommentarer og
3 løsninger

Landefiltrering - Er det godt nok?

Hej Alle!

Jeg er i gang med at lave et site, der skal bruges i en række forskellige lande.

Hvis en dansker besøger siden, med browser indstillingen DA skal han naturligvis viderestilles til den danske sektion.

Jeg har fundet følgende script.

----------------------------------

<SCRIPT LANGUAGE="JavaScript1.2">

if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;

if (language.indexOf('en') > -1) document.location.href = 'English.html';
else if (language.indexOf('da') > -1) document.location.href = 'content/default.html';
else if (language.indexOf('nl') > -1) document.location.href = 'dutch.html';
else if (language.indexOf('fr') > -1) document.location.href = 'french.html';
else if (language.indexOf('de') > -1) document.location.href = 'german.html';
else if (language.indexOf('ja') > -1) document.location.href = 'japanese.html';
else if (language.indexOf('it') > -1) document.location.href = 'italian.html';
else if (language.indexOf('pt') > -1) document.location.href = 'portuguese.html';
else if (language.indexOf('es') > -1) document.location.href = 'Spanish.html';
else if (language.indexOf('sv') > -1) document.location.href = 'swedish.html';
else if (language.indexOf('zh') > -1) document.location.href = 'chinese.html';
else
document.location.href = 'English.html';

</script>

----------------------------------

Mine spørgsmål er nu bare; er scriptet godt nok? Hvilke problemstillinger vil jeg eventuelt kunne løbe ind i?

Håber på nogle har en god viden om det..

På forhånd tak.

Michael
Avatar billede mm12010 Nybegynder
19. december 2003 - 01:17 #1
virker umiddelbart ok, men du bør måske overveje at andre browsere end IE(afhænigt af OS), overvejende er engelske selv om de installeret på en dansk pc...
Avatar billede nythjem Nybegynder
19. december 2003 - 01:19 #2
Hej mm12010

Der bliver naturligvis mulighed for, at kunne vælge sprog manuelt i fremtiden.

Ville dette script kunne gå i stå eksempelvis i Opera, hvor der ikke er defineret noget sprog på forhånd?
Avatar billede roenving Novice
19. december 2003 - 01:20 #3
systemLanguage eller userLanguage var tilstede i webwriteren og i IE6 ...

-- og i Mozilla var de relevante properties:

navigator.appVersion    5.0 (Windows; en-US)
navigator.language    en-US
navigator.userAgent    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030717
Avatar billede mm12010 Nybegynder
19. december 2003 - 01:26 #4
virker fint i mine opera:

navigator.language:
v. 7.21 : en
v. 6.05 : da

og det stemmer overens med sprogene !-)
Avatar billede Slettet bruger
19. december 2003 - 01:29 #5
Eventuelt kunne du lade din webserver klare det for dig. Når en browser spørger efter en side, kan den nemlig sige, hvilke sprog, der ønskes. Dette kan gøres med en prioriteret liste.

For eksempel kan Apache sættes til automatisk at vælge den rigtige, hvis du sætter filerne til at hedde:

index.html.da
index.html.en
index.html.nl
osv.

Brugeren skal bare bede om index.html, og får så leveret enten den bedste sprogudgave eller standardudgaven. Hvis brugeren specifikt beder om index.html.da, får han naturligvis den.

Man kan også lave rækkefølgen i filnavnene om, så de hedder index.da.html, hvis man bedre kan lide det.
Avatar billede mm12010 Nybegynder
19. december 2003 - 01:33 #6
begge versioner reagerer forresten ens på navigator.language og navigator.browserLanguage;
Avatar billede roenving Novice
19. december 2003 - 01:40 #7
-- og IE reagerer overhovedet ikke på language, ligesom Mozilla ikke genkender browserLanguage !-)
Avatar billede nythjem Nybegynder
19. december 2003 - 02:56 #8
Fantastikt De herrer *Gg*

Det blev jeg realt ikke klogere på? *Gg*

Sandbox; Jeg kan meget godt lide din metode, dog tror jeg ikke jeg vil gøre brug af den.

Roenving; Du har jo så utrolig meget styr på det hele :) Vil scriptet fungere ordentligt? Og i så fald ikke, hvordan griber jeg situationen bedst an?

I øvrigt tak for de foreløbige svar :)
Avatar billede roenving Novice
19. december 2003 - 03:09 #9
Det ser ud til at de browsere jeg har vil reagere rigtigt ...
Avatar billede nythjem Nybegynder
19. december 2003 - 03:13 #10
Perfekt!

Tak for den sene natte hjælp, så vil jeg bruge scriptet.

Håber I alle lige ligger et svar, så fordeler vi.

Tak til Jer, oprigtigt dejligt, at I altid er her :)

Sov godt.

Michael
Avatar billede roenving Novice
19. december 2003 - 03:24 #11
Jeg spørger ikke selv på .appName men på .userAgent.indexOf('Gecko')>-1, for den vil sikkert få flere med ...

-- men så er der jo alle de andre !-)
Avatar billede roenving Novice
19. december 2003 - 03:24 #12
Nåja, velbekomme '-)
Avatar billede Slettet bruger
19. december 2003 - 03:36 #13
Det er naturligvis dit valg. Jeg ville bare gøre dig opmærksom på at metoden eksisterede.

Det er forresten muligt at gøre det på en temmelig avanceret måde. SSLUG har gjort således, at når man kommer ind på www.sslug.dk vælger serveren sprog som jeg nævnte tidligere, men de bruger også da.sslug.dk og se.sslug.dk, så man kan vælge sprog på den måde.

Der er en nærmere beskrivelse på http://www.sslug.dk/www_admin/apachesprog
Avatar billede roenving Novice
19. december 2003 - 03:42 #14
Ganske fint, at jeg ikke er helt idiot til svensk, så jeg kan se sslug-siden !-)

-- min backbone er svensk ,-(
Avatar billede Slettet bruger
19. december 2003 - 03:54 #15
roenving: Har du ikke valgt dansk i din browser? Den overskriver sprogvalg udfra dit net med sprogvalg fra browser.

(Om sslug skal lige nævnes, at der er en del sider, der kun findes på svensk. Det kan apache trods alt ikke gøre så meget ved.)
Avatar billede roenving Novice
19. december 2003 - 03:58 #16
Mozilla er på engelsk, så den kommer selvfølgelig på svensk !-)
Avatar billede nythjem Nybegynder
19. december 2003 - 04:03 #17
Hmm, den er i øvrigt en spændende metode :) Men skal vist lige sove på den.

Men læg du også bare et svar, Roenving har jo massere af points ;-)
Avatar billede mm12010 Nybegynder
19. december 2003 - 10:16 #18
selv tak :o)
Avatar billede Slettet bruger
19. december 2003 - 13:58 #19
roenving: Jeg kan da vælge sprog i min Mozilla, og den er på engelsk. Det er i kategorien Navigator->Languages.
Avatar billede roenving Novice
19. december 2003 - 14:04 #20
Ja, selvfølgelig !-)

Det har jeg bare ikke gjort, da den mest tjener som reference -- og forøvrigt en en 'latest nightly build' ...
Avatar billede Slettet bruger
19. december 2003 - 14:24 #21
Men nu har du så afprøvet at sslugs metode virker. Først ser de, hvor du kommer fra, så ser de, hvilket sprog du kunne tænke dig, og ti sidst ser de om du kommer ind på en bestemt adresse. Den sidste match af disse vinder. Når du kommer fra et svensk net, og ikke selv har valgt sprog, får du svensk - og det er vel rimeligt nok.
Avatar billede roenving Novice
19. december 2003 - 15:42 #22
-- tak for points ;~}
Avatar billede Slettet bruger
19. december 2003 - 15:45 #23
Osse tak herfra.
Avatar billede nythjem Nybegynder
19. december 2003 - 15:52 #24
Det er mig der siger tak.

Rigtig god weekend :)
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