Flerspråkigt websystem
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:
print button(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.
usa
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