Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strona w kilku wersjach językowych
Forum PHP.pl > Forum > PHP
t0m3k
Witam.

Chcialbym napisac skrypt, ktory umozliwia zrobienie strony w kilku wersjach jezykowych.
Niestety nie za bardzo wiem jak sie za to zabrac.

Jestem "nowy" w PHP - napisalem tylko kilka malutkich skryptow, wiec miejcie to na uwadze.
Oczekuje dowiedziec sie jak taki skrypt zaprojektowac.

Dziekuje,
t0m3k
Black-Berry
zrób sobie poprostu pliki zawierające tłumaczenia w postaci definicji
  1. <?php
  2. define ('_MY_PAGE_', 'moja strona');
  3. define ('_PRODUCTS_', 'produkty');
  4. ?>

póżniej w części gdzie chcesz wykorzystać tłumaczenie piszesz:

  1. <?php
  2. echo '<h1>' . _PRODUCTS . '</h1>';
  3. ?>


Jest jeszcze kwestia przełaczanai języków. Są na to różne sposoby. Najlepiej zrobić sobie obiekt Language odpowiedzialny za przełączanie języków i ładowanie odpowiednich plików.

pozdrawiam:
Black-Berry
t0m3k
A gdybym chcial tak sobie dodawac artykuly z poziomu panelu administracyjnego?
Sposobem takim, ze mam w panelu 2 okienka: artykul w j.polski i art. w j.angielskim.

Bardziej o takie rozwiazanie mi chodzilo.
Chcialbym jeszcze sie dowiedziec jakie pola w bazie danych musialbym stworzyc.

t0m3k
Spawnm
no to w panelu dajesz 2 textarea , dla pol i dla ang.
potem zapisujesz je do tabeli arty gdzie dajesz art_pl i art_ang
w czasie odczytu sprawdzasz jaki jest język ustawiony i wyświetlasz odp art_{jezyk}
aby nie bawić się w ify daj język strony do sesji i potem w zapytaniu "select art_".$jezyk_z_sesji." FROM arty...itd
Mephistofeles
A teraz chcesz dodać język, i co? Przebudowa bazy? Mało komfortowe rozwiązanie. Lepiej dodać tabelę z id i nazwą języka, i drugą, przechowującą artykuły w różnych wersjach językowych, ale w osobnych rekordach.
cojack
Żaden problem dla samych treści statycznych robisz bazę danych np w ten sposób

id | modul | sub_modul | pl | en |

przyklad dla postgresql

Kod
CREATE TABLE tabela (
id serial UNIQUE,
modul int NOT NULL,
sub_modul int,
pl text NOT NULL,
en text,
PRIMARY KEY (id)
);


Gdzie modul to jest $_GET z url'a żeby nie pobierać nie wiadomo ile danych z bazy, tak samo jak sub_modu, mogą to być np linki nawigacyjne, w zależności jak robisz stronę.

Pozdro.
Mephistofeles
A po co powielasz to co już wyżej napisaliśmy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.