sporv Skrevet 14. januar 2010 Del Skrevet 14. januar 2010 Hei Hvordan får man til å ha to språk på en nettside? Tenkte å ha en på norsk, og en på engelsk. Tenkte på å ha to små flagg øverst på nettsiden, et for Norge og et Storbritannia. Tanken er da at når brukeren trykker på det britiske flagget, blir alt av tekst på siden engelsk. Blir vel sånn at jeg lager to nettsider med akkurat samme innhold, bare den ene på norsk og den andre på engelsk. Hvordan skal jeg få til akkurat den funksjonen med flaggene? Fungerer det å gjøre i html/css? Lenke til kommentar
lassejl Skrevet 14. januar 2010 Del Skrevet 14. januar 2010 Om du har side_no.html og side_en.html, la det norske flagget peke til side_no.html og det engelske til side_en.html? Lenke til kommentar
Themecreator Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 vet om en del som bruker google translate for den effekten... Nå vet vi jo også at det er litt begrenset hvor bra google translate oversetter, men du forstår det helt fint.. Lenke til kommentar
quantum Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 vet om en del som bruker google translate for den effekten... Nå vet vi jo også at det er litt begrenset hvor bra google translate oversetter, men du forstår det helt fint.. Det blir vel litt for psykedelisk. Du kan lage to statiske sider som noen har foreslått, eller switche vha. javascript. Da kan du beholde alt i en side (enklere å oppdatere layout), og så toggler du av .visible attributtet på de norske elementene og omvendt på de engelske når noen trykker på det engelske flagget (onclick), og omvendt for det norske. <script lang="javascript"> function toggleLang(lang) { if (lang == 'eng') { document.getElementById('engBody').style.visibility='visible'; document.getElementById('noBody').style.visibility='hidden'; } else if (lang == 'no') { document.getElementById('engBody').style.visibility='hidden'; document.getElementById('noBody').style.visibility='visible'; } } </script> <h1>Languages<h1> <input type="button" value="Eng" onClick="java script:toggleLang('eng')"/> <input type="button" value="Nor" onClick="java script:toggleLang('no')"/> <span id='engBody' style="position: absolute; visibility: hidden; left: 10px; top: 80px; height: 400px; width: 100px; padding: 1em;"> English stuff </span> <span id='noBody' style="position: absolute; left: 10px; top: 80px; height: 400px; width: 100px; padding: 1em;" > Norrska grejor </span> (du bytter seff ut inline-ccs'en med noe mindre grisete :-) Lenke til kommentar
siDDis Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Dette kan du faktisk gjere automatisk med Apache, den kan sjå på kva slags språkprioriteringer ein nettlesar har og dermed sende ut den html'en med det rette språket til brukaren. Eg anbefaler også å sjå på korleis i18n standarden fungerer. Lenke til kommentar
MikkelRev Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Funker fint å ha et lite Google Translate-ikon. Det er nok det enkleste, og du kan også klikke "Suggest a better translation" for de morsomte/flaueste oversettelsene. En annen metode om du bruker php er å bruke database eller, eller ha en språkfil for hvert språk (ini-filer), så bruker du $txt=parse_ini_file("no.ini",true); eller en istedetfor no på toppen av siden. I no.ini-filen skriver du Welcome="Velkommen" Help="Hjelp" osv Istedetfor å hardkode teksten "Velkommen" i filen, skriver du heller <?php echo $txt["Welcome"]?> Lenke til kommentar
Sokkalf™ Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Google Translate-engelsk virker ikke akkurat spesielt seriøst og troverdig. Støtter meg til siDDIs' anbefaling. Lenke til kommentar
Themecreator Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Funker fett om du skal oversette til forskjellige språk som du ikke kan. eks tysk, spansk, fransk osv. Lenke til kommentar
Kris Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Nei, det funker ikke. Jeg ville heller ikke hatt Tysk på nettsiden enn å ha google-tysk på siden. Lenke til kommentar
Sokkalf™ Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Hvis du gjør websiden din tilgjengelig på flere språk fordi du forventer besøkende som forstår disse språkene, så funker det ikke fett. Vil du virkelig presentere innholdet ditt på en slik måte at du bare fôrer det gjennom en oversettelsestjeneste hvor du ikke kan gå god for hva som kommer ut på den andre siden? Lenke til kommentar
sporv Skrevet 15. januar 2010 Forfatter Del Skrevet 15. januar 2010 Om du har side_no.html og side_en.html, la det norske flagget peke til side_no.html og det engelske til side_en.html? Takker lassejl! Har fått det til nå Lenke til kommentar
MikkelRev Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Om du har side_no.html og side_en.html, la det norske flagget peke til side_no.html og det engelske til side_en.html? Takker lassejl! Har fått det til nå Bakdelen med det, er at om du endrer noe i designet/layouten/html-koden, så må du alltid gjøre det samme i begge filene. Legger du til to språk til senere, må du endre samme html-kodene fire plasser hver gang du skal bare gjøre en bitteliten justering i designet. Bruker du metoden jeg forelso, endrer du design kun en plass, og all tekst på siden har du tilgjengelig fra en egen fil. Lenke til kommentar
sporv Skrevet 16. januar 2010 Forfatter Del Skrevet 16. januar 2010 Om du har side_no.html og side_en.html, la det norske flagget peke til side_no.html og det engelske til side_en.html? Takker lassejl! Har fått det til nå Bakdelen med det, er at om du endrer noe i designet/layouten/html-koden, så må du alltid gjøre det samme i begge filene. Legger du til to språk til senere, må du endre samme html-kodene fire plasser hver gang du skal bare gjøre en bitteliten justering i designet. Bruker du metoden jeg forelso, endrer du design kun en plass, og all tekst på siden har du tilgjengelig fra en egen fil. Ja, stemmer det. Har bare 4 forskjellige sider, så blir 8 til sammen. Designet/layouten er så og si ferdig, så tror jeg holder meg til den løsningen foreløbig. Uansett takk for svar, kan hende jeg går over til din løsning etterhvert Lenke til kommentar
Jonas Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 Funker fint å ha et lite Google Translate-ikon. Det er nok det enkleste, og du kan også klikke "Suggest a better translation" for de morsomte/flaueste oversettelsene. En annen metode om du bruker php er å bruke database eller, eller ha en språkfil for hvert språk (ini-filer), så bruker du $txt=parse_ini_file("no.ini",true); eller en istedetfor no på toppen av siden. I no.ini-filen skriver du Welcome="Velkommen" Help="Hjelp" osv Istedetfor å hardkode teksten "Velkommen" i filen, skriver du heller <?php echo $txt["Welcome"]?> Hvis du skal løse dette med serverside-programmering, så gjør det i hvert fall skikkelig. I PHP finnes det én ordentlig implementert standard og den fungere bedre enn alle løsninger som involverer språk-arrays eller annet tull, og jeg prater selvfølgelig om gettext. Det finnes så klart masse verktøy for redigering av po-filer, samt for å ekstrahere ut språkdata fra prosjektet ditt. Enklere, raskere og mer effektivt får man det ikke. Lenke til kommentar
jabbamabba Skrevet 18. januar 2010 Del Skrevet 18. januar 2010 Får litt vondt i webprogrammerer sjela mi av de nevnte statiske og litt vel eksotiske forslagene over (no offence..). Jonas kommer her med den definitivt mest fornuftige og langsiktige løsningen. Å måtte oppdatere statisk innhold med ulike språk blir et designmessig helvete en eller annen gang. Hva når du skal lage helt ny layout.. nei.. En annen ting er jo hvordan språket skal velges/vises. Med PHP og gettext kan du hente ut den besøkendes locale og vise riktig språk med en gang. Om du ikke har drevet mye med php så ikke la deg skremme! Det er ikke spesielt vanskelig å sette opp. Hør med din leverandør om de kan komme med tips og råd og les deg opp som Jonas lenker til. Vil også anbefale programmet poEdit for å jobbe med språkfilene. Gjør det skikkelig så trenger du ikke gjøre det om igjen og om igjen osv. Lenke til kommentar
MikkelRev Skrevet 18. januar 2010 Del Skrevet 18. januar 2010 Vil ikke si at mitt forslag er så statisk, du har enkelt og greit en språkfil for hvert språk som består av kun tekst, ingen html eller annen layout. Men takk for forslaget, skal se på gettext før jeg evt. hiver meg i full gang Lenke til kommentar
jabbamabba Skrevet 18. januar 2010 Del Skrevet 18. januar 2010 (endret) Vil ikke si at mitt forslag er så statisk, du har enkelt og greit en språkfil for hvert språk som består av kun tekst, ingen html eller annen layout. Men takk for forslaget, skal se på gettext før jeg evt. hiver meg i full gang Joa, ditt forslag er ikke statisk, men det blir rimelig vrient å holde styr på alle variablene i lengden. Med gettext og poedit slipper du enklere unna. Du vil da typisk gjøre som følger: $_("I'm a lumberjack, but I'm okey. I sleep all night and I work all day"); Så lager en ulike språkfiler for de ulike språkene. poEdit viser deg hvilke fraser som mangler oversetting; perfekt om en f.eks. skal få noen andre til å oversette noe for seg på et fremmed språk. Edit: En annen fordel med gettext er at en kan legge til litt dynamikk i frasene: $_("Page {0} of {1}", $pagenum, $totalpages); ..eller til og med: $_("{0}Previos{2} / {1}Next{2}", "<a href='...'>", "<a href='...'>", "</a>"); Dig it? Endret 18. januar 2010 av jabbamabba Lenke til kommentar
MikkelRev Skrevet 19. januar 2010 Del Skrevet 19. januar 2010 Det der så mye mer avansert ut enn min teknikk Men skal uansett prøve det ut. Lenke til kommentar
quantum Skrevet 19. januar 2010 Del Skrevet 19. januar 2010 Får litt vondt i webprogrammerer sjela mi av de nevnte statiske og litt vel eksotiske forslagene over (no offence..). Når det er snakk om én side er vel alt som ikke er statisk det samme som å skyte spurv med kanoner? Pointet her var vel å få det til på klientsiden tror jeg. Lenke til kommentar
bonedawg Skrevet 19. januar 2010 Del Skrevet 19. januar 2010 Får litt vondt i webprogrammerer sjela mi av de nevnte statiske og litt vel eksotiske forslagene over (no offence..). Når det er snakk om én side er vel alt som ikke er statisk det samme som å skyte spurv med kanoner? Pointet her var vel å få det til på klientsiden tror jeg. To sider, bytt ut tekst... Eller være jævla hardcore og kjøre en ajax som henter språkfil basert på innstillingene på nettleseren til brukeren, og som parser responseText'n som kommer i retur og oppdaterer alle div'ene. Evt kan du ha js-språkarrays i en index.html som automatisk bytter tekst; en side, 0 wait for å switche språk. Eller bruke css for å skjule/vise divs med tekst (mener noen nevnte det, bare vær siktig med css-position på overlappende divs). Er ikke alltid man kan kåle så masse med servere og php og pakker osv. Skal man lage en index.html med to språk er det unødvendig å sette opp enterprise-struktur på oversettelser Den beste er nok å bruke to skudd med luftgeværet for å drepe spurven (les: index_no.html index_en.html) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå