Mam stronę internetową w 3 językach.Wielojęzyczna baza danych: która metoda jest lepsza?
Jaki jest najlepszy sposób struktury DB?
1) Tworzenie tabeli 3, po jednym dla każdego języka (np Product_en, Product_es, Product_de) i odbierać dane z tabeli identyfikatorem:
np na stronie php Mam ciąg:
$language = 'en'
więc uzyskać dane tylko
SELECT FROM Product_$language
2) Utwórz 1 stół z:
ID LANGUAGE NAME DESCR
i umieszczać na stronie tylko
WHERE LANGUAGE = '$language'
3) Utwórz 1 stół za pomocą:
ID NAME_EN DESCR_EN NAME_ES DESCR_ES NAME_DE DESCR_DE
Dziękujemy!
Opcja 4: posiadanie jednej tabeli z opisami w języku angielskim. Mieć kolejną tabelę, która tłumaczy zwroty. Jeśli fraza już istnieje, masz tłumaczenie. Jeśli nie, dodaj go. Tworzy to "słownik". Czy to jest bardziej wydajne? Zależy od tego, czy użyjesz wielu ciągów, czy nie (dużo, nigdy ...) - co z kolei zależy od tego, jak duża jest baza danych. Wydaje mi się, że to sprawia, że rzeczy są odrobinę bardziej możliwe do utrzymania. – Floris