Avatar billede Jens Jakob Teislev Nybegynder
15. februar 2007 - 15:00 Der er 10 kommentarer og
1 løsning

Ændre sprog på hjemmeside med flag

Hej Alle,

Jeg har en hjemmeside med en række forskellige boligobjekter på beskrevet på dansk, engelsk, svensk osv.

Oppe i toppen har jeg flag, og når man klikker på svensk ryger man til startsiden for den svenske side.

Jeg ville gerne at den automatisk hoppede til det sted jeg kom fra bare på svensk. Strukturen er eksakt den samme på det svenske website som på det danske, udover det hele bare ligger i SE biblioteket/subweb.

Nogen der har en ide til et "script" der indsætter "se" oppe i min adresselinie så www.teislev.org/home/villa/vel101.htm bliver til www.teislev.org/se/home/villa/vel101.htm?

Hilsen,

Jens
Avatar billede mcgoat Nybegynder
15. februar 2007 - 15:04 #1
Så skal du nok køre enten PHP eller ASP, så serveren ved hvilken side du er på, og når du så vælger at skifte sprog kan den vælge den samme side for dig, bare på et andet sprog. Men kigger lige med om der er nogle der har en smartere ide
Avatar billede Jens Jakob Teislev Nybegynder
15. februar 2007 - 15:15 #2
Okay. Håber der findes en løsning der ikke involvere PHP eller ASP, for det kommer vi først til at bruge efter sommeren. Den rigtige hjemmeside finder du ved at gå ind på:
tre gange dobbelt v, jacobs villas i et ord og stavet med k, punktum com.
Problemet er osse at selve "landenavigatoren" ligger som "included content"...

Jens
Avatar billede jokkejensen Novice
15. februar 2007 - 15:48 #3
du kan godt lave det med javascript.

Altså læse url adressen og sætte /xx/ ind efter domænet..

altså

www.minside.dk/et eller andet.html bliver til www.minside.dk/se/et eller andet.html
Avatar billede jokkejensen Novice
15. februar 2007 - 16:01 #4
her er noget at arbejde videre med...

<!DOCTYPE html PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function changeLanguage(language)
{
    var hostname = window.location.host;
    var pathname = window.location.pathname;
    var newUrl = "http://"  + hostname + "/" + language + pathname;
    window.alert(newUrl);
}
</script>
</head>
<body>
<a href="java script:changeLanguage('SE')">test</a>
</body>
</html>


Det vil fejlen når man klikker flere gange.. så vil den blive til ex:

www.minside.dk/test.html

klik DK

www.minside.dk/dk/test.html

Klik SE

www.minside.dk/se/dk/test.html

Men det skulle være ret let lige at fikse..

Med JS er der en masse forudsætninger, men det kan godt lade sig gøre.
Avatar billede Jens Jakob Teislev Nybegynder
15. februar 2007 - 16:01 #5
ahhh det tror jeg ikke på jokkejensen :o) Okay lad mig høre? :oD

Jens
Avatar billede Jens Jakob Teislev Nybegynder
15. februar 2007 - 16:02 #6
okay så ikke din beskrivelse.. beklager humoren :o) skal se på det nu

Jens
Avatar billede jokkejensen Novice
15. februar 2007 - 16:12 #7
Ja jeg kan ikke rigtigt hjælpe hvis du ikke tror på mig.
Avatar billede jokkejensen Novice
15. februar 2007 - 16:35 #8
prøv den her :

function changeLanguage(language)
{
    var hostname = window.location.host;
    var pathname = window.location.pathname;


    var temp = new Array();
    temp = pathname.split('/');

    pathname = "";

   
    for(x in temp)
    {
        var tempx;
        tempx = temp[x].toLowerCase();       


            if(tempx == '')
            {
                window.alert("den er sku tom");
            }
            else if(tempx == 'da')
            {
                window.alert("Den er sat til dansk, fjerner dansk");
            }
            else if(tempx == 'se')
            {
                window.alert("den er sat til svensk, fjerner svensk");
            }
            else
            {
                pathname += "/" +  tempx;
                window.alert(pathname);
            }

    }

    var newUrl = "http://"  + hostname + "/" + language + pathname;


    window.alert(newUrl);
}
</script>

Det er ikke det smukkeste kode, og jeg ved ikke om det er crossbrowser, så test det lige i en række browsere....

Du erstatter bare window.alert(newUrl) med window.location = newUrl;

når du vil se om det virker rent praktisk.
Avatar billede jokkejensen Novice
15. februar 2007 - 16:36 #9
tilføj selv en række else if(tempx == 'fr') osv, for de sprog du har..

for guds skyld.. test. :)
Avatar billede larsbb Nybegynder
19. februar 2007 - 10:37 #10
Ellers kan du også bare køre den meget simple, langsomme og kortsigtede løsning, hvor kun benytter dig af xhtml. Det kunne være noget i stil med:

Du er inde på dansk/side1 og vil have det i svensk. Linket inde på dansk/side1 henviser så til svensk/side1. Når du kommer ind på dansk/side2 henviser du så til svensk/side2.

Det er besværgeligt og kan sikkert gøres hurtigere og nemmere vha. php/javascript, men det er da en måde at gøre det på.
Avatar billede Jens Jakob Teislev Nybegynder
10. november 2007 - 17:26 #11
Lukket
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