Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Wielojęzykowość
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam, poszukuje odpowiedzi a konkretnie w zakresie wielojęzykowości. Mam już system, tyle że chciałby rozbududować go o możliwość tworzeni treści w wielu językach, szukam prostego sposobu. Prosty to jest utworzenie nowych tabel, bądź całej bazy w którym byłaby osobna treść dla danego języka, aczkolwiek nie jest to dobre rozwiązanie, pracuję na jednym z systemów, który pod dodaniu do xml nazwy jeżyka i włączeniu go w panelu administratora, automatycznie rozbudowuje stronę o następny język, z tym że cała zawartość musi być taka sama jak w wersji polskiej żeby nie było różnic. Nie wiem jak w ogólne zaprojektować, żeby było proste i dobre.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Nie widzę powodu aby rezygnować z bazy danych na rzecz XML do tego typu działań. Po pierwsze nie trzeba tworzyć nowej tabeli dla każdego jeżyka wystarczy:

id | kraj | key | value
1 | 1 | 'pokaz' | 'show'
1 | 2 | 'pokaz' | 'pokaz'

Małe wyjaśnienie:
- kraj = 1 -> np. english, 2->polski, 3->euroazjatycki itd. Pobierasz tylko te dane, które mają odpowiedni język
- key czyli wywołując $lang['pokaz'] zmienna ta zwraca "show" dla angielskiego lub "pokaz" dla polskiego

Ten post edytował CuteOne 6.07.2011, 23:31:38
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Cytat(CuteOne @ 6.07.2011, 23:30:52 ) *
Nie widzę powodu aby rezygnować z bazy danych na rzecz XML do tego typu działań. Po pierwsze nie trzeba tworzyć nowej tabeli dla każdego jeżyka wystarczy:

id | kraj | key | value
1 | 1 | 'pokaz' | 'show'
1 | 2 | 'pokaz' | 'pokaz'

Małe wyjaśnienie:
- kraj = 1 -> np. english, 2->polski, 3->euroazjatycki itd. Pobierasz tylko te dane, które mają odpowiedni język
- key czyli wywołując $lang['pokaz'] zmienna ta zwraca "show" dla angielskiego lub "pokaz" dla polskiego


Czyli tak naprawdę czeka mnie przeprojektowanie bazy danych, dodanie do każdej tabeli kolumny lang, wtedy przy wyborze języka automatycznie do bazy powinna dodawać się informacja o języku, i automatycznie po wyborze strona.pl/en/ miałby się ustawiać język. Także czeka mnie przeprojektowanie kilku klas a w szczególności drzewa nawigacji. Aczkolwiek, to może nie być takie trudne bo gdy dodam do root odnośnik en, pl, fr, automatycznie treść będzie tworzona dla tych języków.

Co do tłumaczenia elementów stałych to jest banał, moje pytanie raczej tyczyło się samego zaprojektowania, sposobu tworzenia treści w wielu językach, rozwiązania zaprojektowania samego mechanizmu, struktury tabel itp.

Dziękuje za odpowiedzi.
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: 17.10.2025 - 19:54