![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pytanie jakiej metody urzyć na stronie w celu umożliwienia przeglądania jej w wielu językach i która metoda jest najlepsza. Znam takie metody: 1: napisy przechowywane są w tablicy 2: napisy przechowywane są w bazie Może znacie jescze inne?? Która metoda jest najlepsza?? Dzieki za każdą pomoc - to ma być duży serwis :roll2: . |
|
|
![]() |
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
OPT ma moduly wspomagajace pisanie stron wielojezycznych ( OPT - system szablonow) a reszta to juz tylko odpowiednia tabelka w bazie danych (jak masz okreslona liczbe jezykow to duzo ulatiwa).
Pisze arta i ma 3 textarea (etc) i w nim podaje w 3 jezykach to jest zapisane do bazy i juz :-) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jestem początkujący i nie wiem co to jest OPT - czy mógłbyś podpowiedzieć, ewentualnie skąd to ściągnąć.
Dzięki ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 581 Pomógł: 0 Dołączył: 21.07.2003 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
-------------------- „Człowiek jest wielki nie przez to, co posiada, lecz przez to, kim jest;
nie przez to, co ma, lecz przez to, czym dzieli się z innymi.” Jan Paweł II |
|
|
![]()
Post
#5
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
www.opbp.info/wiki
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
A co jeżeli chciałbym skorzystać z bazy danych lub tabeli - co jest lepsze ?
Które z tych rozwiązań lepiej zastosować ? ![]() Bo nie chce korzystać z OPT nie za bardzo to jeszcze kumam ![]() Pomóżcie |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
---------STRUKTURA BAZY---------
language - język (np. pol, eng, ger, rus, cze, slo) word - słowo w danym języku default_name - słowo w głównym języku - będzie sprawdzane przy pobieraniu I sobie robisz np. tak:
Ten post edytował Tiraeth 18.01.2005, 19:59:00 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszystkim za pomoc
![]() Z tego co napisales Tiraeth rozumiem ze preferujesz mysql-a ![]() ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 9.09.2002 Skąd: Pszczyna Ostrzeżenie: (0%) ![]() ![]() |
Ja korzystam z tablicy. Dokładniej to mam pliczek w którym wpisuję sobie wszystkie komunikaty (tak je nazywam) wyświetlane na stronie. Pliczek ten ma postać
[pl] PUSTE = "Pole nie może być puste" ERROR_NAZWA = "Błędna nazwa" ERROR_LICZBA = "Błędna liczba" [eng] PUSTE = "Empty fields not allowed" ERROR_NAZWA = "Invalid name" ERROR_LICZBA = "Invalid number" [de] PUSTE = "..." ERROR_NAZWA = ".." ERROR_LICZBA = "....." odczytuję to za pomocą funkcji $komunikaty = parse_ini_file("komunikaty.dat",true); $komunikaty = $komunikaty["pl"]; <- to wybieram automatycznie of kors i potem w kodzie odwołuję się tak: print( $komunikaty["PUSTE"] ); ... i hula Taki plik jest łatwiejszy w edycji niż tablica w bazie danych - wiem z własnego doświadczenia. pozdrawiam |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 2 Dołączył: 21.11.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
true - sprawy jezykowe na plikach sa sprawa bardzo wygodna. szczegolnie, gdy system jest dosc rozbudowany - wtedy dobrze podzielic jeden jezyk na kilka(nascie) plikow jezykowych - odpowiednia struktura katalogow zalatwia sprawe porzadku. reczna edycja w bazie to masochizm - przeciez 5 tabel dla 5 jezykow zakladac nikt nie bedzie
![]() co do jezykow. oczywiscie mily dodatek: Kod if(eregi("\.pl$", gethostbyaddr($_SERVER['REMOTE_ADDR']))) { $jezyk = '_pl'; setcookie ('pod_jezyk', "_pl", time()+96422400); } else { $jezyk = '_en'; setcookie ('pod_jezyk', "_en", time()+96422400); } (u mnie akuratnie info o jezykach trzymalem w ciastkach jak widzisz) a potem juz gdzies w skrypcie tylko zaladowac sobie odpowiedni plik: Kod require_once("naglowek$jezyk.php"); powyzej jakis przyklad dla zczytania pliku naglowek_pl.php a na koniec sam plik naglowek_pl.php: Kod <?php // w tym miejscu znajduja sie polskie teksty do naglowka portalu (naglowek.php) define("ZALOGOWANY_JAKO", "Jeste zalogowany jako:"); define("WYLOGUJ", "Wyloguj:"); define("PODAJ_LOGIN", "Podaj Login (Nick):"); define("PODAJ_HASLO", "Podaj Has│o:"); define("NIEPOPRAWNY_LOGIN", "Podano niepoprawny login lub has│o!"); define("ZALOGUJ", "Zaloguj siŕ!"); define("WYBIERZ_JEZYK", "Wybierz jŕzyk:"); define("WYBIERZ", "wybierz"); define("POLSKI", "polski"); define("ANGIELSKI", "angielski"); ?> i oppowiednio naglowek_en.php: (op chwili namyslu stwierdzilem, ze nikomu sie jeszcze nie chcialo tego tlumaczyc ![]() ale generalnie idee rozumiesz. w samym pliku innego jezyka masz dokladnie to samo, czyli np: define("WYLOGUJ", "Logout:"); define("PODAJ_LOGIN", "Enter ur login:"); itd... a w samym kodzie zamiast pisac wrzucasz twe stale. zakladam, ze siedzisz na jakichs templatach, czyli klasyk gadzet: Kod $jezyk = array( 'AUTORYZACJA_KONTA_TYTUL' => AUTORYZACJA_KONTA_TYTUL, 'AUTORYZACJA_KONTA_TRESC' => AUTORYZACJA_KONTA_TRESC, 'PODAJ_LOGIN' => PODAJ_LOGIN, 'PODAJ_HASLO' => PODAJ_HASLO, 'ZALOGUJ' => ZALOGUJ ); $smarty->assign ("jezyk", $jezyk); i z glowy ![]() -------------------- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
(Przydatne zapytania MySQL) |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
System wielojęzykowy moim zdaniem powinien opierać się na parse_ini_file" title="Zobacz w manualu PHP" target="_manual.....
![]() languages/lang_polish.txt Kod ; Language File ; ************* ; lang_polish [lang_main] ; Language strings for main site WELCOME = Witamy YOUR_PERMS = Twoja ranga to [lang_errors] ; Language strings for errors ERROR404 = Error 404: Brak strony ERROR501 = Error 501: Kolejny błąd functions/functions.php
I nareszcie przykład: demo.php
Oczywiście wynik takiego działania: Cytat(demo.php) Array ( [ERROR404] => Error 404: Brak strony [ERROR501] => Error 501: Kolejny błąd ) ![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 581 Pomógł: 0 Dołączył: 21.07.2003 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
Zainteresował mnie twój przykłąd z obsługą langów, ponieważ teraz się zastanawiam bo tablice jak wiadomo są szybkie
![]() Ten post edytował kubatron 23.01.2005, 12:52:07 -------------------- „Człowiek jest wielki nie przez to, co posiada, lecz przez to, kim jest;
nie przez to, co ma, lecz przez to, czym dzieli się z innymi.” Jan Paweł II |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(jerrys @ 2005-01-18 10:19:41) Witam Mam pytanie jakiej metody urzyć na stronie w celu umożliwienia przeglądania jej w wielu językach i która metoda jest najlepsza. Znam takie metody: 1: napisy przechowywane są w tablicy 2: napisy przechowywane są w bazie Może znacie jescze inne?? Która metoda jest najlepsza?? Dzieki za każdą pomoc - to ma być duży serwis :roll2: . Przez tablicę rozumiesz plik? Jeżeli masz elementy stałe (menu, stopka, opisy), to w pliku, jeżeli newsy, artykuły etc to już zależy od ilości, wymaganej elastyczności, szybkości etc. Wszelkie rady typu "lepiej w bazie", "tylko w pliku" bez znajomości wymagań co do Twojego systemu i możliwości są jak rzucanie monetą i odpowiedź orzeł/reszka. -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:59 |