ugrás a tartalomhoz

többnyelvű tartalom tárolása adatbázisban

szabo.b.gabor · 2012. Már. 27. (K), 23.33
Sziasztok!

Egy nemzetközi többnyelvű oldal létrehozása a feladatom. Az oldal művészek munkáit mutatja be. az elképzelés szerint számos országban elérhető rendszerről beszélünk, helyi adminisztrátorokkal. a művész feltölti munkáit ad nekik címet, leírást.

ezt megteszi saját nyelvén, ha ambíciózus az illető, akkor megteszi még angolul is pl, de lehet, hogy több nyelven is tud, vagy a helyi adminisztrátorok egy-egy kiemelkedő alkotást önszorgalomból 'lefordítanak'.

mindegy is, a lényeg, hogy soknyelvű tartalmakról beszélünk, akár bemutatkozásról, kép leírásról, album címről, hozzászólásokról van szó.

dilemmám rövid története. beszéljünk mondjuk egy képről.

kiindulás - többnyelvűség nélkül
PICTURE
-idpicture (pk)
-title
-description
-stb..

A. eset
PICTURE
-idpicture (pk)
-stb..

PICTURE_TEXT
-idpicture (pk)
-idlanguage (pk)
-title
-description

mondjuk legyen ez a megoldás. de rájövök, hogy listázni szeretnék, itt már problémás lesz a dolog, mert melyik szöveggel listázzak?

vagy ha nem is a listázás miatt, de kelleni fog egy alapértelmezett nyelv.

B. eset
PICTURE
-idpicture (pk)
-stb..

PICTURE_TEXT
-idpicture (pk)
-idlanguage (pk)
-title
-description
-default (0,1)

C. eset
PICTURE
-idpicture (pk)
-idlangauge
-title
-description
-stb..

PICTURE_TEXT
-idpicture (pk)
-idlanguage (pk)
-title
-description

talán a C eset a legnormálisabb megoldása a dolognak. így igazából működik minden szépen, csak van egy bővítmény, ahol az alternatív szövegeket lehet tárolni.

de nem tudom, hogy a B, vagy a C a jobb-e, esetleg van még értelmesebb megoldás? (a mezők táblán belüli soknyelvűsítését nem tartom jónak, egy egységes tábla, ami táblanév, mezőnév, nyelv alapján tárol fordításokat szintén nem játszik)

ti hogyan csinálnátok?
 
1

Hojtsy Gábor blogját

pp · 2012. Már. 28. (Sze), 07.17
Hojtsy Gábor blogját olvasgatnám.

Hogyan volt a Drupal hetesben, mit terveznek a Drupal nyolcasban.


Megnézném még, hogy a Symfony vagy a Zend hogyan csinálja.
(Linket javítsa aki jobban tudja, 2 perc guglizás eredményei ez utóbbiak.)

Saját rendszert kizárólag tanulási célzattal készítenék, éles projekthez egy már működő megoldást választanék. (mondjuk a feladat Drupallal viszonylag hamar megugorható)

pp