Luźno oparte na Joomla CMS 1.0.15 i komponencie JoomFish
A. Rozdziel teksty na treść i etykiety
- artykuł, tytuł, nazwa pozycji menu, nagłówki pól strony -> to treść
- teskty: "czytaj całość" , "komentarze", "Załóż konto", "Autor", "Data dodania", "Nie masz uprawnień ..." -> to etykiety
teksty trzymaj w bazie etykiety w plikach
B. W momencie rozpoznania języka inkludujesz odpowiedni plik etykiet dla danego języka, w kodzie używasz tylko zmiennych językowych. W pewnych okolicznościach możesz trzymać etykiety w plikach ini i uzywać dostępnego dla php5 parsowania plików ini
C. Rozbudowujesz zapytanie o treści tak, żeby w momencie rozpoznaia języka innego niz podstawowy pytał o translację w odpowiedniej tabeli
- wszystkie translacje w jednej tabeli, bazując na unikalnych ID elementów oryginalnych (to pozwoli na optymalne uzycie joina) oraz opatrzone polem 'type' gdzie będziesz trzymać sobie informacje co to jest (artykuł, element menu, plik z opisem, fotka z opisem), obowiązkowe pole 'lang'

- warto dodać stan translacji (0/1) zeby dopuścic do stanu w którym masz cos przetłumaczone ale tego nie używasz (jeszcze)
Odpowiednio formując joina pytasz zawsze o konkretny typ i tylko o translacje dopuszczone do publikacji, oczywiście tylko z danego języka. Oczywiście trzeba sobie samemu wykombinować co w przypadku braku translacji (tekst domyślny/ element oryginalny).
1. nieskalowalne
2. obrzydnie Ci po pierwszych 15 minutach edycji, paskudne obciążenie przy parsowaniu
3. Blisko, blisko, tyle, że w jednej tabeli tak jak opisałem wcześniej
W podanym rozwiązaniu możesz sam zadecydować które pola są tłumaczalne a które nie co umożliwi nawet wyświetlania innych grafik czy plików downloadu w zależności od wybranego języka, oraz dobrą obsługę elementów nieistniejących dla danego języka.
Jeżeli masz tabele niezunifikowane (tzn, artykuły mają 'title' a fotki 'header' i niewiele jest wspólnych pól różnych elementów) oraz,
jeżeli masz niewiele typów danych (artykuły, fotki, pliki), możesz zastosować osobne tabele translacji dla każdego typu.