Flerspråkigt websystem
2008-08-04 - atlas, databaser, översättningar
Atlas är flerspråkigt i den meningen att alla textsträngar i systemet är på engelska och översätts när dom används till det språk siten är på, så i en listning så kan det avslutas med en knapp som följer:
printbutton(lp("show all"), "/list.php", "buttons/list");
Så funktionen "lp" (kort för "language print" hehe) tar alltså den engelska frasen och översätter det till det språk som siten är på. Behändigt och funktionellt.
Men att ha flera språkversioner för siten för innehållet är i regel lite annorlunda, beroende på hur man vill att det ska administreras. Som det är idag så kan man ha artiklar i flera olika språk kopplat till en site i Atlas. Så man ser en liten flagga och "Läs den här artikeln på engelska" tex, som man kan se här. Detta gäller dock bara artiklar, själva menyn och sådant är inget som man kan ha i olika språkversioner inom samma site. Och det är ju synd. Så hur gör man för att göra ett innehålls-system flerspråkigt på ett enkelt sätt? Jag har funderat på ett par olika tillvägagångsätt

Spara i samma post i databasen

Ett enkelt sätt vore att ha ett speciellt fält i databasen för översättningar av samma databaspost, så att till exempel en post i meny-databasen skulle innehålla fälten "namn", "länk" och "bild" till exempel, sen en post som heter "språk" och en som heter "översättningar". språk-fältet anger vilket språk som de tre första fälten är i och i översättnings-fältet så sparar man språkvariationer av det.
  • Fördelar
  • - Alla översättningar sparas och administreras på samma ställe
  • - Har man hämtat posten (via en listning tex) så har man alltid alla översättningar med i samma förfrågan
  • - Om en viss språkversion inte finns så kan man falla tillbaka på grundposten
  • - Minimalt med ombyggnad i scripten som läser databasen
  • Nackdelar
  • - Med många översättningar så kan det varje post bli rätt så stor
  • - Sökningar på andra språk än grundspråket kan bli svårare beroende på hur det hanteras

Olika poster i samma databas

Ett annat sätt är att språkmärka alla poster med ett språk-fält som ovan och sen bara göra databasförfrågningar på det språk man vill ha.
  • Fördelar
  • - Alla översättningar blir separata enheter i databasen
  • - Databasqueries returnerar alltid bara det språk man vill ha
  • - Sökningar blir alltid helt korrekta
  • Nackdelar
  • - Man kan inte falla tillbaka på ett grundspråk om posten inte finns på ett visst språk
  • - Kräver ombyggnad i nästan alla script på siten
  • - Gör databasen större och därmed långsammare
Det finns ju andra alternativ, som att ha en helt egen tabell i databasen med översättningar för grunddata i andra poster, men i regel så är det mer bökigt än vad man tjänar på det.
Hus skulle du lösa det? Kommentera gärna och ge lite synpunkter och tankar.
Mer i Webblog
Tilt Shift
Reklam i Spotify
Miljvnliga Maccar
Flersprkigt websystem
Dlj emailadresser fr spamrobotar
Husbilssemester
iPhone 3G
Nyckelord: atlas, databaser eller översättningar
Fixa transparenta PNGbilder i Internet Explorer 6
Forum p sandmannet
Rkna tid med PHP
Flersprkigt websystem
jQuery
Skuggor med CSS
Skapa rutor med CSS
Fjällkaffe
1/20 DeLorean Time Machine
Caso Outdoor Cooler
Minikyl Coca Cola
Verktygsvagn med verktyg, 161 delar
CSS filters for background images
Huset ommålat!
Skiss för tatuering
Spelbordet klart
Laser cutting my Myst Island
We Can Do It
Batwing
Elsa
Skaffat husbil
Foton på bilen
Remarkable 2
Ny espressomaskin!
Porträtt av Emma
AtlasCMS och rådande krissituation
Ny bil! Ford Mustang Mach-E GT
Spelbordet, igen
Ny bil beställd
Två månader med Keto
Spelbord v3
Mechanical Age map
More shading and water
Första månaden med Keto
Keto
Fotosession: Tabitha
Utebelysning
Återvinningsskåp
Måla om huset
Byggt hylla till vintunnorna
Dodge RAM
Inline-redigering
Drömmen om ett spa
Dags för carport
Survey Island, what is happening?
Golvprov
Gillestugan uppdaterad!
Spelbord v2
Tre billyhyllor blir två
Gymkort
You can't take the sky from me
Högtalare klara!
eklundh.com tar ned skylten
Högtalare bestämda!
Uppgraderingar biorum
Lord of the Rings-maraton
Ergonomiskt som tusan!