Tvåspråkig webbplats - tips på upplägg önskas

Tråden skapades och har fått 18 svar. Det senaste inlägget skrevs .
1

Jag är ansvarig för en liten förenings webbplats och tänker nu göra om den i grunden – designen jag gjorde 2000 känns både gammal och fyller inte längre våra behov. Det jag skulle vilja ha tips och synpunkter på är upplägget. Dvs. tips på hur man gör, både med tanke på besökare och på sökmotorer, med en webbplats som riktar sig till två olika grupper och på olika språk, svenska och engelska

Vi har två mottagargrupper:
1. svenskar i Sverige som vi erbjuder program i ett 20-tal länder utomlands. Idag ca 30 sidor som kommer att bli ca 50 sidor. Denna del är på svenska
2. Utländska personer som vi inbjuder (att söka) till ett program i Sverige. Idag ca 15 sidor som kommer att bli ca 20 sidor. Denna del är på engelska

Startsidan är idag en ren ”välkommen till-sida” där man kan välja svenska och engelska. När man har valt kan man sedan komma till den andra delen via en svensk eller brittisk flagga.

Så vill jag inte ha det framöver.
Dels är jag så evinnerligt trött på alla dessa informations-tomma startsidor – jag vill se vad det är/vad de har att erbjud så fort jag kommer till en webbplats!
Dels är det denna sida som ”alla” länkar till så det är den – utan särskilt mycket information som bl a goggles rankar högst – jag skulle vilja ha in mer information (text som är sökordsrelaterad) där för sökmotorerna

Min tanke nu är att ha startsidan (index.html) i två kolumner, svensk resp. engelsk, om ca 40 rader där det ges en kortfattad information om vad vid erbjuder, dvs. vad följande sidor innehåller. Det skulle göra att besökare omedelbart ser om det är intressant att gå vidare eller inte.

Men hur blir det då för sökmotorer? Hur funkar det att blanda språk på en sida? Kan man ge mer en än beskrivning av sidan? Två olika sökordslistor eller blanda svenska och engelska ord

Alla svenska sidor ska sedan ligga i en mapp ”sv” så sökvägen blir ”domän.org/sv/dokument.thml” och på motsvarande sätt med mappen ”eng” för den engelskspråkiga

Eller tänker jag helt fel/osmart. Finns det bättre sätt att lägga upp en tvåspråkig webbplats? Tips och förslag mottages tacksamt.

Kan man köra något Javascript som kollar vilket land besökaren kommer från? (Jag har inte provat)

Det lät som ett bra upplägg tror jag med två kolumner.

Du kan ta bort flaggorna från den tomma startsidan och baka in dem i designen direkt på sidan.
www.disordinary.org sådär menar jag.
Annars är nog javascript det bästa att använda tror jag också.

Tack Robban303 och RockyMontana för era svar

Ska kolla det där med javaskript

När det gäller www.disordinary.org har jag en fråga. Är startsidan helt på engelska och så får man välja svensk om man vill?

Vet någon hur sökmotorer gör om man har en startsida som skickar en till en svensk eller engelsk sida? Indexerar de båda?

  • Medlem
  • Bollnäs
  • 2007-09-07 22:28

Om du kör Apache som webbserver så kan du använda den inbyggda kollen av user-agent där du helt enkelt gör två html-dokument, ett på svenska och ett på engelska, och döper dem till

index.html.sv

och

index.html.en

Webbläsaren skickar en liten sträng i http-huvudet där den anger vilket språk den är inställd på, och webbservern svarar med att leverera det html-dokument som stämmer med språket hos besökaren.

Sen kan det vara bra att låta besökaren välja språk själv när man väl landat på sajten, men för att göra det bör man inte använda flaggor som språkkonvention. Det finns många länder där man talar flera språk (officiellt) och där det inte finns en direkt koppling mellan nationalitet och modersmål.

Läs lite mer på den här sajten om varför, och hur man ska göra istället.

Om man vill att alla andra ska komma till den engelska sidan?

Ursprungligen av Kalle W:

Om du kör Apache som webbserver så kan du använda den inbyggda kollen av user-agent där du helt enkelt gör två html-dokument, ett på svenska och ett på engelska, och döper dem till

index.html.sv

och

index.html.en

Webbläsaren skickar en liten sträng i http-huvudet där den anger vilket språk den är inställd på, och webbservern svarar med att leverera det html-dokument som stämmer med språket hos besökaren.

Sen kan det vara bra att låta besökaren välja språk själv när man väl landat på sajten, men för att göra det bör man inte använda flaggor som språkkonvention. Det finns många länder där man talar flera språk (officiellt) och där det inte finns en direkt koppling mellan nationalitet och modersmål.

Läs lite mer på den här sajten om varför, och hur man ska göra istället.

Hej.
Detta verkar bra på alla sätt. Men om man vill att de som har svenska valt ska få den svenska sidan

index.html.sv

och alla andra ska ha den engelska, ska den engelska heta

index.html.en

eller kanske bara

index.html

?

Skulle ju vara bra att slippa skapa en himla massa sidor, en för varje tänkbart språk:)

Ursprungligen av electropix:

Skulle ju vara bra att slippa skapa en himla massa sidor, en för varje tänkbart språk:)

Tror du på fullt allvar att det är ett krav?

  • Medlem
  • Bollnäs
  • 2009-07-16 22:44
Ursprungligen av electropix:

Skulle ju vara bra att slippa skapa en himla massa sidor, en för varje tänkbart språk:)

Du kan ställa vilken prioritering olika språk ska ha i /etc/apache2/extra/httpd-languages.conf och under

LanguagePriority

eller i en .htaccess med samma direktiv beroende på vilken typ av access du har till webbservern.

I LanguagePriority gäller en fallande skala, så står sv först gäller det om besökaren har något annat språk inställt i webbläsaren och motsvarande språk inte finns på sajten. Låt säga att du har svenska och engelska (index.html.sv och index.html.en) och någon med polska inställt surfar in. Om då LanguagePriority ser ut så här (standardinställningen):

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

Så kommer besökaren att få innehållet på engelska levererat från servern. Detta för att engelska står först i prioriteringslistan.

Tack - ska läsa sidan om flaggor/text för språkval en gång till. Det var en hel del matnyttigt i den men en andra läsning behövs nog. Jo, jag förstod att man inte skulle ha flaggor men behöver nog förstå bättre för att kunna övertyga andra som vill ha sin åsikt med i laget.

Jaaa - servern använder Apache! Så jag slipper javascript - hade börjat läsa men ärligt talat förstod jag inte helt och hållet.

Ingen som vet hur sökmotorer gör med två startsidor? Indexerar de båda?

  • Medlem
  • Bollnäs
  • 2007-09-10 07:44

Det ska nog inte vara några problem med indexeringen, speciellt inte som du tänker låta användarna byta språk manuellt också. Så länge det finns länkar mellan sidorna så hittar sökmotorerna allt på sajten.

Men tänk på att vara noga med metadata för att informera sökmotorerna om vilket språk som används, och var det blir språkbyten. Det kan bli så att du skriver en mening eller ett stycke på engelska i den svenska avdelningen, och vise versa.

Då anger du i koden, dels i <head> genom <meta http-equiv="content-language" content="sv_SE" /> alternativt endast "sv" för svenska (det första exemplet betyder svensk svenska, det andra bara svenska). Alla språkkoder finns påden här sidan. Vill du även ange landskoder hittar du dem här. Konventionen är att när man blandar dem gäller "språk_LAND", tex en_US (amerikansk engelska), en_GB (brittisk engelska), de_DE (tysk tyska), de_CH (schweizisk tyska).

Om du sedan blandar språk och skriver ett stycke på engelska på den svenska avdelningen så kan du göra så här:

<p lang="en">This is an English paragraph.</p>

Ursprungligen av Kalle W:

...
Då anger du i koden, dels i <head> genom <meta http-equiv="content-language" content="sv_SE" /> alternativt endast "sv" för svenska (det första exemplet betyder svensk svenska, det andra bara svenska). Alla språkkoder finns påden här sidan. Vill du även ange landskoder hittar du dem här. Konventionen är att när man blandar dem gäller "språk_LAND", tex en_US (amerikansk engelska), en_GB (brittisk engelska), de_DE (tysk tyska), de_CH (schweizisk tyska).

Om du sedan blandar språk och skriver ett stycke på engelska på den svenska avdelningen så kan du göra så här:

<p lang="en">This is an English paragraph.</p>

Oj det där med språk blir inte lättare

Inser att det blev fel när jag lät GoLive fixa det med sin automatik för då blev det
<meta name="language" content="sv" />
men det är inte så svårt att ändra men hur ska det då vara:

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="sv" />
<meta name="generator" content="Adobe GoLive" />
osv..

eller
som jag så när jag var ute och letade efter ordningsföljden på head-element:
i Html, dvs före head

"http://www.w3.org/TR/html4/strict.dtd">
<HTML lang="fr">
<HEAD>
<TITLE>Un document multilingue</TITLE>

Jo, jag erkänner villigt att jag inte riktigt förstår det hela - men jag försöker följa de goda råd jag får.

Tack Kalle W!

Landskoder slipper jag, tack o lov!
Och klarar mig med två språkkoder: svenska och engelska.

Att låta folk byta språk - och till viss del innehåll - är främst tänkt för svenskar som är intresserad av innehållet som finns på engelska delen. Folk från andra länder får nog av "svenska förhållanden" på engelska. Men det kanske är bra om folk inte har sin webbläsare inställd på engelska efter sitt eget språk och därför eller av annat misstag hamnar på den svenska sidan.

(Fast det borde bli möjligt och intressant att se i statistiken hur många från Finland som hamnar på svenska sidan, dvs har svenska som förvalt språk eller i vart fall före engelska!)

Du har rätt, det kan nog hända att det blir något citat på engelska på den svenska delen. Så jag tackar för kodsträngen.

Jag tackar för all hjälp och har nu nog med material att jobba ett tag på egen hand. Återkommer när nya problem och funderingar uppstår

De rekommendationer du har fått hitills är förstås helt korrekta, om du utvecklar sidan själv vill säga och skriver koden för den.

Det finns en annan metod om du vill/kan basera din webbsite på ett Opensource CMS som heter Joomla. Till Joomla finns en extension som heter JoomFish om med den får man en väldans trevlig arbetsmiljö för att översatta allt material på en webbsite till flera språk. Fördelen är att man kan ge användaren några flaggor att klicka på för att byta pråk på hela siten, nackdelen är att allt måste översättas, man kan alltså inte ha många gemensamma artiklar och sedan specialpublicera artiklar på ena eller andra eller tredje språket (tja, man kan ju iofs, men att ha tex en artikel om nya jordnötter på svenska blir och ha en helt annan om nyupptäckta galaxer kan ju bli lite tokigt, även om det är möjligt.) .

Du kan se exempel på denna plugin på två av mina webbsiter här:

Min site om Applescript
Min site om FileMaker

Jag har även skrivit en artikel på min CMS-demo-site om flerspråkiga Joomla-siter, det finns en annan plugin till Joomla som automatöversätter med hjälp av Altavista, som är ganska cool.

Flerspråkiga webbsiter baserade på CMS (innehåller även skärmdumpar av admingränssnittet för Joomfish där man översätter artiklar till flera språk)

En fördel med att satsa på ett CMS är just den enorma mängd med extensions (aka nya funktioner på siten) och templates (aka nya utseenden och snygg design) som man kan få med ett CMS, förutom alla de inbyggda funktioner man får på köpet.

En CMS-baserad webbsite kan förstås indexeras av sökmotorerna, mera info i min artikel här: Indexering

Senast redigerat 2007-09-14 23:06

Tack Taz_1999,

Ska vidarebefordra detta till en som håller på med en webbplats där det vore bra om folk kunde läsa materialet på olika språk.

På min egen plats ska det vara olika material till de som bor i Sverige (och som vi vill skicka ut i världen) och till andra som vi inbjuder till att söka ett program i Sverige

Ok, jag kanske inte förstod din fråga helt och hållet, missade att det skulle vara helt olika material till två målgrupper.

Detta går dock även att lösa med ett CMS, man kan bygga menyer som sedan blir undermenyer och det går även att bestämma på vilka sektioner/kategorier olika menyer skall synas mm. Alltså skulle du kunna använda menyssystemet som "skiljedelare" mellan olika material för dina två målgrupper och sedan helt enkelt inte översätta allt material på siten (då visas orginalartikeln utan översättning, som då kan vara skriven på engelska eller svenska beroende på vilken "meny" den sitter i.)

De delar på siten som kräver översättning (om oss, siteinfo, kontaktinfo mm) kan dock vara översatt på två språk och så klickar man på en flagga för att få fram den.

  • Medlem
  • Bollnäs
  • 2007-09-17 13:10

Attributet lang="" kan man sätta på <html>, <body> eller valfri <h[n]>, <p> eller <div>. Resultatet är att allt inom den taggen ska vara på det språk man angivit i attributet.

Sätter man en <meta> i <head> så anger det det förvalda språket för sidan, men man har möjlighet att avvika från det språket med lang="" i någon tagg.

Jag tror inte att det är någon större praktisk skillnad mellan
<meta http-equiv="content-language" content="sv" />
och
<meta name="language" content="sv" />

Den förra anger att värdet ska behandlas som en http-header istället för vanlig html-metadata.

Tack Kalle
Då låter jag det vara som GoLive gjorde <meta name="language" content="sv" />
så slipper jag ändra

Lär mig lite mer för varje dag - inser dock att det saknas mycket grundläggande kunskap. Men en del sådan kommer med på köpet

Det finns många sätt att göra det här - de flesta är sådär, habila men inte så eleganta.
Du kan åtminstone sätta en cookie så folk inte behöver välja språk varje gång.
Kör du något serverscriptande (php, asp, perl, ..)? Databas? Webadmin? Eller bara statistika html-sidor?

  • Medlem
  • Stockholm
  • 2009-07-16 23:14

Hej, jag har inte läst igenom tråden, men tänkte tipsa om en gratis lösning för problemet, som jag använde när jag gjorde en tvåspråkig site, ip2nation heter det. Använder php och en databas med landskoder. Väldigt enkelt att installera och så.

ip2nation - resolve IP to country

1
Bevaka tråden