![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Zastanawiam się jaki jest najbardziej optymalny sposób na napisanie aplikacji wielojęzycznej. Zakładam, że jest możliwość zmiany ilości języków (dodawanie i usuwanie). Przykład 1 Mamy tabelę treści składającą się z pól id, language_id, title, content oraz link do nich prowadzący tresc(numerid).html Czy lepszym rozwiązaniem jest do każdej wersji językowej dodawanie danej treści i tworzenie nowego linka, czy zrobić treść główną i dodatkową tabelę pobierającą języki np id, trescid, title, content i rozszerzającą poniekąd tabelę podstawową. Przykład 2 Sonda. Sonda składająca się z trzech tabel: sondy, pól sondy oraz odpowiedzi. Jak tu rozwiązać wielojęzykowość, czy dla każdego języka tworzyć osobną sondę, czy jeden język podstawowy. Na chwilę obecną mam zamysł taki, że jest klasa, która pobiera np daną treść i klasa ją rozszerzająca, która w przypadku wykrycia innego języka niż domyślny łączy się z tabelą z danym językiem i nadpisuje tylko wybrane pola (tytuł, treść). Plusem jest fakt, że nie ma np trzech różnych id dla trzech języków, tylko jeden wspólny i w sposób prosty możemy w przypadku braku tłumaczenia dla danego języka wyświetlić treść w języku domyślnym. W powyższych przykładach bardzo uprościłem strukturę bazy by było to zrozumiałe. Mam nadzieję, że za bardzo nie zakręciłem. Interesuje mnie opinia czy to jest poprawne rozumowanie i jakich sposobów na wielojęzyczność używacie w swoich projektach. -------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja stosuję taki układ tabel:
locales [id, name...] objects [id, is_active...] object_i18ns [object_id, locale_id, title, content...] Legenda: klucz główny klucz obcy |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 21:47 |