Autor | Zpráva | ||
---|---|---|---|
tomstryja Profil |
#1 · Zasláno: 7. 5. 2008, 13:08:25 · Upravil/a: tomstryja
Řeším prvně cms pro vícejazyčný web a stojím před tímto problémem:
Pro představu: stránky budou třeba v cs a en, CMS bude také v cs a en. Strukturu dat v databázi mám v duchu řešení 1. i 3. (jak popisují zde). Mám tabulku "oblasti" se sloupci "id, oblast_cs, oblast_en". Jak vyřešit, že když vytvořím novou oblast (insertem) a CMS mám v českém jazyce, abych po přepnutí CMS do en věděl, že mám updatovat řádek s daným id, a přidat tak anglický název do "oblast_en"? Nebo jak se vlastně v CMS tyto jazykové verze řeší? Díky za vaše zkušenosti. |
||
tomstryja Profil |
#2 · Zasláno: 7. 5. 2008, 13:13:05
Hrubku v nadpise přehlédněte, díky.
|
||
Mastodont Profil |
#3 · Zasláno: 7. 5. 2008, 13:17:50
Mám tabulku "oblasti" se sloupci "id, oblast_cs, oblast_en".
To máš z hlediska teorie blbě. Opakované atributy stejného významu patří do jiné tabulky, každý v jednom řádku: id oblasti, jazyk, název ---------------------------- 1, EN, My home 1, CZ, Můj domov ... A při vytváření nové oblasti bych já vyplnil rovnou všechny názvy, proč to odkládat? |
||
tomstryja Profil |
#4 · Zasláno: 7. 5. 2008, 14:43:56
Dobře, ale když anglickou verzi bude spravovat někdo jiný, který doplní překlad později, tak jak to pořešit?
|
||
tomstryja Profil |
#5 · Zasláno: 7. 5. 2008, 14:46:01 · Upravil/a: tomstryja
Co mě napadá je duplikovat na každou jazykovou verzi stejné tabulky, pak by se nemuselo řešit jestli už záznam v nějakém jazyce existuje, ale to by třeba při 4 jazycích bylo 4x tolik tabulek.
|
||
Časová prodleva: 9 dní
|
|||
tomstryja Profil |
#6 · Zasláno: 16. 5. 2008, 20:06:06
Tak jsem se poučil od příspěvku Mastodonta. Díky za radu.
Skutečně je toto řešení výhodnější, než nový sloupec pro novou jazykovou verzi, hlavně pokud budete vytvářet objekty a procedury v databázi. |
||
Časová prodleva: 16 let
|
0