Snabbtips för internationalisering av webben

Kodning. Använd Unicode när det är möjligt, för innehåll, databaser, etc. Deklarera alltid vilken kodning innehållets har.

Kodade tecken. Använd hellre tecken än specialsekvenser (t.ex. á á eller á) närhelst det är möjligt.

Språk. Deklarera vilket språk som används i dokument, och ange när uttryck i andra språk används.

Presentation vs. innehåll. Använd formatmallar för att uttrycka presentation. Använd uppmärkning för att uttrycka semantik.

Bilder, animeringar & exampel. Kontrollera att det går att översätta, och att det inte finns olämpliga kulturella aspekter.

Formulär. Använd lämplig kodning för både formulär och server. Stöd lokala format för namn och adresser, för datum och tider, etc.

Skriva text. Använd enkel och tydlig text. Var försiktig då du bygger meningar genom att sammanfoga strängar.

Navigering. Varje sida bör innehålla tydligt synlig navigering till lokaliserade sitor eller webbplatser, genom att att använda det målspråket.

Höger-till-vänster-text. För XHTML, lägg till dir="rtl" i html-taggen. Använd det sedan enbart för att ändra normalriktningen.

Kontrollera det du skapat. Validera! Använd tekniker, läromedel och artiklar på http://www.w3.org/International/

Följande snabbtips sammanfattar de grundläggande begreppen rörande internationaliserad webbdesign. Dessa tips utgör inte en fullständig uppsättning råd. Det handlar bara om en handfull av de begrepp som beskrivs på W3C:s webbplats för insatsområdet internationalisering.

Denna sida ger tipsen i kortform, på det sätt som de också beskrivs i kortbunten med referenskort, åtföljda av text som ger mer detaljer och förklaringar. Vi ger dessutom länkar till information på W3C:s webbplats för internationalisering, när sådan fördjupande information finns, så att du kan läsa mer.

Denna sida kommer att uppdateras då och då.

Snabbtips

Kodning. Använd Unicode när det är möjligt, för innehåll, databaser, etc. Deklarera alltid vilken kodning innehållet har.

Den teckenkodningen du väljer bestämmer hur bytes avbildas till tecken i din text.

I normala fall ger teckenkodningar begränsningar till ett speciellt skriftsystem eller uppsättning av språk. Med Unicode kan du på ett enkelt sätt hantera nästan alla de skript och språk som används världen runt. På det sättet underlättar Unicode hantering av innehåll som innehåller flera språk, allt från innehållet i en sida till innehåll som finns på en webbplats eller som spänner över flera webbplatser. Unicode är speciellt lämplig när den används i formulär, skript eller databaser, där du ofta behöver stödja flera språk. Med Unicode är det mycket enkelt att lägga till nya språk för ditt innehåll.

Om du inte på lämpligt sätt deklarerar vilken teckenkodning du använder, så kanske dina användare inte lyckas läsa ditt innehåll. Detta kan uppträda då den tillämpning som tolkar ditt innehåll gör felaktiga antaganden om hur tecken representeras av bytes.

Ge mig mer bakgrundsinformation
Character encodings for beginners förklarar några av de grundläggande begreppen rörande teckenkodningar, och varför du bör tänka på detta. Introducing character sets and encodings ger en mjuk inledning till olika perspektiv på detta tema.
Och, hur gör jag detta?
Författare av HTML & CSSUtvecklare av specifikationerAtt sätta upp en server
Kodade tecken. Använd hellre tecken än specialsekvenser (t.ex. á á eller á) närhelst det är möjligt.

Specialsekvenser som Numeric Character References (NCRs) och entiteter är sätt att inom uppmärkning representera ett godtyckligt Unicode-tecken genom att enbart använda ASCII-tecken. Till exempel kan du representera tecknet á i X/HTML som á eller som á eller som á.

Sådana specialsekvenser är användbara för att tydligt representera tvetydiga eller osynliga tecken, och för att förhindra problem med tecknen i syntaxen, som "och"-tecknet och hakparenteser. De kan också vara användbara vid de tillfällen då du vill representera tecken som inte ingår i din teckenkodning eller som inte finns på ditt tangentbord. Annars bör du alltid använda tecken istället för specialsekvenser.

Ge mig mer bakgrundsinformation
Using character escapes in markup and CSS ger ytterligare information om användning av specialsekvenser i uppmärkningsspråk. Speciellt bör du tänka på att använda entiteter (som &aacute) med försiktighet.
Och, hur gör jag detta?
Författare av HTML & CSSUtvecklare av specifikationerFörfattare av SVG
Språk. Deklarera vilket språk som används i dokument, och ange när uttryck i andra språk används.

Det är viktigt att det finns information om vilket (mänskligt) språk som innehållet formuleras i, speciellt för tillgänglighet, formatering, sökning, redigering och liknande. I och med att alltmer innehåll taggas, och taggas på ett korrekt sätt, så blir tillämpningar som kan upptäcka information om innehålls språk alltmer användbara och använda.

När man deklarerar användning av ett språk, så kanske du behöver formulera dig på ett annat sätt än då du anger metadata som gäller dokumentet som helhet. Det är viktigt att förstå denna skillnad.

Ge mig mer bakgrundsinformation
Language on the web ger en enkel introduktion till olika perspektiv på detta ämne.
Och, hur gör jag detta?
Författare av HTML & CSSförfattare av SVGförfattare av XMLSchemautvecklareServerkonfigurering
Presentation vs. innehåll. Använd formatmallar för presentation. Begränsa uppmärkning till semantik.

En viktig princip inom webbdesign är att skilja mellan innehållet självt och hur innehåll formateras eller presenteras. Detta gör det enkelt att tillämpa olika formatering på samma textinnehåll, t.ex. för att kunna visa samma innehåll såväl i en vanlig webbläsare som på en handhållen apparat.

Denna princip är extra användbar då man vill lokalisera innehåll, eftersom olika typer av skriftsystem har olika typografiska behov. Till exempel gör japanska teckens komplexitet att det är bättre att visa betoningar i japansk text på annat sätt än genom att visa fetstil eller kursiv stil. Det är mycket lättare att genomföra sådana ändringar om presentationen beskrivs med CSS, och uppmärkningen blir mycket renare och mer hanterbar om text entydigt märks som "betonad" istället för att märkas som "fetstil".

Man kan spara avsevärd tid och resurser vid lokalisering om man arbetar med CSS-filer istället för att behöva ändra uppmärkning, eftersom all nödvändig anpassning kan göras på ett enda ställe för alla sidor, och översättaren kan koncentrera sig på innehållet istället för på presentationen.

Ge mig mer bakgrundsinformation
Läs presentationsbilderna från föredraget på 2007 @media-konferensen: "Designing for International Users: Practical Tips".
Bilder, animeringar & exempel. Kontrollera översättbarhet och olämplig kulturell karaktär.

Om du vill att ditt innehåll verkligen ska informera användare så behöver du tala deras språk, inte bara i form av text, utan även med lokala bilder, färger, objekt och föreställningar. Det är lätt att förbise den kulturspecifika aspekten av symbolism, beteende, begrepp, kroppsspråk, humor, m.m. Du bör få synpunkter, från personer som har sitt ursprung i det avsedda landet, på hur lämpliga och hur relevanta dina bilder, videoklipp och exempel är.

Du bör även vara noga när du lägger in text i bilder, då innehåll översätts. Text ovanpå komplex bakgrund eller i små ytor kan ge översättare stora problem. Du borde tillhandahålla grafiska bilder till de som gör lokalisering, där text ligger i ett separat lager, och du bör tänka på att text uttryckt i språk som engelska och kinesiska troligen kommer att ta större plats vid översättning.

Ge mig mer bakgrundsinformation
Läs bilderna från presentationen vid 2007 @media-konferensen: "Designing for International Users: Practical Tips".
Formulär. Använd lämplig kodning såväl i formuläret som på server. Stöd lokala format för namn/adresser, tider/datum, etc.

Den kodning som används av en HTML-sida vilken innehåller ett formulär bör stödja alla de tecken som kan behöva matas in i det formuläret. Detta är viktigt om användare kan tänkas mata in information i olika naturliga språk.

Databaser och skripts som tar emot data i flera språk från formulär, de måste också kunna samtidigt stödja teckenuppsättningar för alla de språken.

Det enklaste sättet att åstadkomma detta är att använda Unicode såväl för sidor som innehåller formulär som i bearbetning på servern och för lagring. I ett sådant scenario kan användaren fylla i data formulerat i de språk som användaren vill använda.

Du bör även undvika att göra antaganden att sådant som användarens namn och adress uttrycks enligt de regler som du är van vid. Fråga dig själv hur mycket detaljer du verkligen behöver separera genom att använda olika inmatningsfält, t.ex. för adresser. Tänk på att i vissa kulturer finns det inte gatunamn, i andra skall husnumret följa efter gatunamnet, vissa människor behöver mer än en rad för den del av adressen som föregår ortsnamn, etc. Faktiskt finns det delar av världen där en adress skrivs uppifrån och ner, från det mest allmänna till det mest specifika, vilket implicerar en fullständigt annorlunda strategi för layout av adresser. Undvik att skapa valideringsrutiner som bygger på oriktiga antaganden om antal siffror i riktnummer eller telefonnummer. Beakta att det är viktigt med tydlig information om hur datum matas in, eftersom det finns ett flertal olika konventioner för ordningen mellan dag, månad och år.

Om du samlar information från användare i fler än ett land, så är det viktigt att ta fram en strategi för hur man ska hantera de olika format som människor förväntar sig kunna använda. Detta är viktigt inte bara för design av de formulär du behöver skapa, utan även för hur du skall lagra information i databaser.

Så, hur gör jag detta?
Författare av HTML & CSSförfattare av HTML & CSSutvecklare av specifikationer
Skapa text. Använd enkel och tydlig text. Var försiktig då du bygger meningar genom att sammanfoga strängar.

Enkel och tydlig text är lättare att översätta. Det är också lättare för användare att läsa, om den text de läser inte är uttryckt i deras eget förstaspråk.

Du bör vara noggrann när du sammanställer meddelanden utgående från ett flertal delsträngar, eller när du lägger in variabel text i strängar. Antag till exempel att din webbplats använder skripting med JSP, och att du väljer att sammanställa meddelandetexter dynamiskt. Du kan skapa meddelanden genom att sammanfoga separata delsträngar, såsom "Endast" eller "Se till att inte", " returnera resultat i ", och "godtyckligt format" eller "HTML". Eftersom den textuella ordningen av meningar i andra språk kan vara annorlunda, så kan det vara svårt att översätta detta.

Likaledes är det viktigt att undvika ha fixerade platser för variabler i texter som "Sid 1 av 10". Andra språks syntax kan kräva att dessa siffror anges i omvänd ordning. Om du använder PHP så betyder detta att du bör använda en formateringssträng som "Sid %1\$d av %2\$d.", och inte den enklare "Sid %d av %d.". Det senare alternativet kan vara omöjligt att översätta i vissa språk.

Så, hur gör jag detta?
Författare av HTML & CSS
Navigering. Varje sida bör ha tydligt synlig navigering till lokaliserade sidor eller webbplatser, uttryckta i målspråket.

När du har versioner av en sida eller en webbplats, för olika språk, eller för ett annat land eller region, så bör du erbjuda användaren ett sätt att se den version de föredrar. Detta bör vara möjligt för alla de sidor i en webbplats som har en alternativ lokaliserad sida.

När du erbjuder länkar till sidor i andra språk, använd då namnet på målspråket uttryckt i målspråket och dess skriftsystem. Antag inte att en användare kan läsa svenska. Så bör du t.ex. för en länk till en franskspråkig sida använda "français" istället för "franska". Detta gäller även då du vill ge en länk till en land- eller regionspecifik sida, där t.ex. "Deutschland" bör användas och inte "Tyskland".

Så, hur gör jag detta?
Författare av HTML & CSS
Höger-till-vänster-text. För XHTML, lägg till dir="rtl" i html-taggen. Använd det sedan enbart för att ändra normalriktningen.

Text i språk som arabiska, hebreiska, persiska och urdu läses från höger till vänster. Denna läsordning implicerar typiskt att texten har rak högermarginal och att man inverterar sådant som layout av sida och tabell. Du kan ange att standardjustering och ordning av sidinnehåll skall vara höger-till-vänster genom att helt enkelt ange dir="rtl" i html-taggen.

Den riktning som anges i html-taggen bestämmer normalriktningen för dokumentet, och det får effekt på alla element i sidan. Det är inte nödvändigt att upprepa attributet för element på lägre nivåer, om det inte är så att du explicit vill ändra flödesriktningen.

Inbäddad text formulerat i sådant som latinska skriftsystem skall ändå flöda vänster-till-höger, trots att den övergripande riktningen angetts till höger-till-vänster. Samma gäller för tal uttryckta i siffror. Om du arbetar med höger-till-vänster-språk så bör du bekanta dig med grunderna för Unicodes bidirektionella algoritm. Denna algoritm hanterar mycket av sådan bidirektionell text utan att innehållsförfattaren behöver vidtaga speciella åtgärder. Det finns dock speciella omständigheter där uppmärkning eller styrtecken i Unicode behöver användas för att få avsedd effekt.

Ge mig mer bakgrundsinformation
Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts erbjuder en lätt introduktion till grunderna för hur höger-till-vänster-text hanteras i HTML. För andra uppmärkningsspråk gäller likartade principer.
What you need to know about the bidi algorithm and inline markup ger en lätt introduktion till grunderna för hur man kan hantera bidirektionell text.
Så hur gör jag detta?
Författare av HTML & CSSförfattare av SVGförfattare av XMLschemautvecklare
Granska det du gjort. Validera! Använd tekniker, läromedel och artiklar som finns på http://www.w3.org/International/
Try the W3C Internationalization Checker.

Annan översiktlig information

Vi har nyligen publicerat en Getting Started-sida, som hjälper dig att hitta information på denna webbplats. Denna sida pekar ut en serie av artiklar som finns eller håller på att tas fram, och som ger nybörjare en översikt över grundläggande teman inom internationalisering, och pekar ut sådan information på webbplatsen som ger dig praktisk kunskap.