Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ?tagi i tłumaczenia stron - wady i zalety różnych rozwiązań?
nowy_pehapowiec
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Cze!
Przewertowałem wujaszka google i nadal nie wiem które rozwiązanie wybrać.



Tagi
1 Dodatkowa kolumna 'tags' nie spełniająca warunku normalności. Pojedyncze tagi rozdzielone przecinkiem albo średnikiem i wszystkie zapisane w jednym polu.
2 Dodatkowo tabela z kolumnami id, tag. Taka tabela tez nie jest normalna bo jeśli jeden id ma kilka tagów to id musi się powtarzać w następnych wierszach.

Jak widać ani jedno ani drugie rozwiązanie nie jest idealne. Pierwsze jest prostsze w realizacji. Drugie minimalnie trudniejsze, ale czy lepsze? Można to drugie zmodyfikować dodając dodatkową tabelę łączącą id, tag_id, a w tabeli tags trzymać tag_id i tag. Ale ideologia pozostaje ta sama.

Które rozwiązanie się sprawuje lepiej? Bo oba są złe - powtórzenia w poziomie albo w pionie.



Tłumaczenia
A dokładniej statyczne tłumaczenia. Czy lepiej tłumaczyć fragmenty stron, te które się zmieniają w różnych językach, czy lepiej całe strony?

1 Jak tłumacze całe strony, to minusem jest konieczność pamiętania o aktualizacji obu stron. Bo jak zmienię jedna stronę to druga działa bez problemów ale jest nieaktualna.

2 Jak tłumacze tylko fragmenty, to przy każdym fragmencie tekstu, czy to paragraf, czy podpis pod zdjęciem, czy element menu muszę użyć jakiejś funkcji, która z bazy pobierze tekst w odpowiednim języku. Czyli kod strony się robi bardziej nieczytelny i liczba selectów z bazy wzrasta.

Poradzicie coś w tych dwóch tematach? A może coś z zupełnie innej beczki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nowy_pehapowiec
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


nospor, dr_bonzo to rozwiązanie z 3 tabelami jest popularne i działa. Ale nie mówcie, że taka baza jest znormalizowana, bo nie jest. To znaczy spełnia jedynie warunki pierwszej postaci normalnej. I powiem wprost irytują mnie powtórzenia w tabelach (kilka tagów => powtarzam wiersze z tym samym ID). Zastanawiam się jak to zrobić lepiej. Na pewno już ktoś to dawno wymyślił, tylko ja o tym jeszcze nie wiem. Może jednak Wy coś na ten temat wiecie? (IMG:style_emoticons/default/smile.gif)

krowal poczytałem troszkę o ob_start() iob_end_flush() i wydaje mi się, że te funkcje pozwalają na przetworzenie jakimś zestawem funkcji strony przed jej wysłaniem do przeglądarki. Ale to nadal nie do końca jarzę jaki miałbym z niej pożytek? Wywołać str_replace() a obie tablice (co zamienić, na co zamienić) trzymać w bazie i pobrać je w całości? Jeśli tak to, to owszem jest to wygodne ale mało wydajne. Bo jak mam podstronę na której jest do zamiany np. 10 słów a na innej 70 słów, to za każdym razem muszę pobrać z bazy cały słownik. I kolejny minus, trzy teksty: "She goes crazy", "He goes crazy", "crazy". W zależności od kolejności słów w tablicach albo się uda sensownie zamiana albo się wszystko porypie. Żeby się nie rypało to musiałbym przy każdym tekście mieć osobną zamianę:
lantrans("She goes crazy") . lantrans("He goes crazy") . lantrans("crazy")
a funkcja lantrans() selectuje z bazy odpowiedni string. No ale jak widac mało to wygodne i kod się robi ......

przeczytałem jeszcze raz ten spory temacik o tłumaczeniach ale akurat tego problema w nim nikt nie porusza.

pozdro
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 06:32