![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zamierzam wkrótce wprowadzić w swoim CMSie obsługę języków, tylko że nie wiem jak to zrobić by było "szybkie i wydajne", czy zastosować zwykły include z langiem w postaci np. tablicy, czy może coś innego? (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
|
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
Proponuje napisac funkcje ktora bedzie spelniac role tlumacza (i18n), w polaczeniu z plikami xml, ktore beda trzymaly tresc danego jezyka. Taka forma pozwala na latwa modyfikacje i rozbudowe. I co najwazniejsze bedzie utrzymana modulowosc Twojego CMS`a.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Wadę takiego rozwiązania jest jednak ... szybkość.
Jeśli chcesz przechowywać dane w XML, to konieczne jest pamiętanie o tym, by je konwertować do jakiejś przyjażniejszej dla php postaci. A to już odrobinę komplikuje zagadnienie. jeśli jednak to się uda - to pozwala na bardzo elastycznie tworzenie tłumaczeń, tm bardziej, że istnieje sporo softu uławiającego tłumaczenie plików xml (np. http://ez.no/ez_publish/download/translati...te_and_linguist czyli http://doc.trolltech.com/3.1/linguist-manual-3.html ) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ja uzywam do tego smarty
w tpl'u umieszczam
a zeby wyswietlic, np
przykladowo plik z tlumaczeniem (lang.pl) wyglada mniej wiecej tak
Tlumaczenie na nowe jezyki jest bardzo proste (IMHO najprostsze dla tlumacza, ktory nie zawsze musi byc "obeznany") Ten post edytował [fisher] 16.06.2004, 12:04:23 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Smarty nie użyję bo nie chcę podwoić czasu generowania stron (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
hmm. Powiem tylko tyle na ten temat.
Albo bardzo nisko cenisz swój czas, albo masz bardzo wolny serwer, albo... hmmm , zabrakło mi pomysłu jak nazwać kogoś, kto przejmuje się różnicami rzędu 0.01 , zyskując w zamian elastyczność i wygodę pracy z kodem. No ale cóż - o gustach się nie rozmawia, a wszak wymagałoby to poświęcenia paru minut na zapoznanie się z kolejnym (o jakie to okrutne) manualem. @[fisher] jest to bardzo ciekaw metoda. Ja stosowałem jeszcze inną - zadeklarowanie własnego znacznika, np. {t} {/t} , dzięki któremu wszystkie teksty, które się w nim znajdowały, przechodziły przez zdefiniowaną przezemnie metodę. |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(DeyV @ 2004-06-16 12:33:00) Ja stosowałem jeszcze inną - zadeklarowanie własnego znacznika, np. {t} {/t} , dzięki któremu wszystkie teksty, które się w nim znajdowały, przechodziły przez zdefiniowaną przezemnie metodę. Dodam tylko ze dla sprawnego keszowania szablonow z roznymi wersjami jezykowymi w SMARTY, warto przy wyswietlaniu / kompilowaniu szablonu dodac parametr oznaczajacy jezyk. Wtedy spokojnie blok np {t}{/t} moze poddawac sie keszowaniu nie obciazajac serwera dodatkowym zajeciem a rozne wersje jezykowe beda keszowane w roznych plikach keszu. Czyli
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
jesli jednak tak jak ja nie chcesz uzywac smarty - mozesz zastosowac require_once" title="Zobacz w manualu PHP" target="_manual'owane pliki z tablicami:
i tablica:
wedlug mnie to najlepsza opcja dla nie-smarciarzy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Riklaunim @ 2004-06-16 12:17:23) Smarty nie użyję bo nie chcę podwoić czasu generowania stron (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Przesadzasz, przy cache'owaniu nie jest tak zle |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Riklaunim @ 2004-06-16 12:57:29) http://www.massassi.com/bTemplate/benchmarks/ (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif) Chyba nie obejzales dokladnie wynikow tego testu :/ . Smarty wyswietla szablon od 20 do 40 procent wolniej. Pozatym ehh ludzie czesto nie dostrzegaja mozliwosci smarty w budowie poteznego nazedzia. Sam teraz wykorzystuje ten system do bardzo rozbudowanego CMSa i gdyby nie funkcjonalnosc SMARTY mialbym powazne problemy ze sprzegnieciem wielu rzeczy w calosc. Paradoksalnie SMARTY przyspiesza dzialanie calego silnika poniewaz pobiera on i obrabia dane tylko wtedy gdy sa one potrzebne (pliki keszu sie zdeaktualizuja). Gdybym stosowal zwykle echo to bylo by krucho (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Tak wiec po raz ktorys juz na tym forum nie zgadzam sie z opinia ze smarty jest wolny, bo jesli opracujesz odpowiedni system smarty jest ci tylko przyjacielem. Hmm chyba male OT. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(DeyV @ 2004-06-16 12:33:00) No ale cóż - o gustach się nie rozmawia, a wszak wymagałoby to poświęcenia paru minut na zapoznanie się z kolejnym (o jakie to okrutne) manualem. Masz racje - zgadzam sie w 100%, warto nadmienic ze designerzy - graficy juz nie lapia sie za glowe gdy slysza slowo smarty, watpie zeby chcieli sie uczyc metodologi tworzenia template'ow w innych tego typu systemach. Poza tym smarty jest tworzone przez ludzi z php/Zend i ma naprawde niezla dokumentacje wiec ja to rozwiazanie zaczynam traktowac jako standard |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
Pozwole sobie zauwazyc ze do testu
http://www.massassi.com/bTemplate/benchmarks/ uzyto smarty w wersji 2.1.0, ciekawe jakie wyniki ma smarty w wersji 2.6.2? Z ciekawosci sprawde w domu ... Powszechnie wiadomo ze wydajnosc i szybkosc z wersji na wersje jest coraz lepsza... Be Smarty (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Luca @ 2004-06-16 13:33:33) uzyto smarty w wersji 2.1.0, ciekawe jakie wyniki ma smarty w wersji 2.6.2? Znany polski parlamentarzysta Andrzej L. tez powoluje sie na niezalezne wyliczenia* jego "ekspertow" do wytykania innym bledow. Najgorsze ze sa tacy ktorzy mu wierza :-( Podobnie jest z systemami szablonow *) FUD :) ? |
|
|
![]() ![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam też tworze malutki cms i według was które rozwiązanie jest najlepsze ?
|
|
|
![]()
Post
#16
|
|
Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
Riklaunim, zrozumiales?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 9.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
no ok phemplate 1.7.1 sa najszybsze w tym tescie, ale... Czy phemplate daje tobie takie mozliwosci jakie daje smarty ? chocazby funkcje warunkowa ? Taka mala funkcja, a ulatwia mi bardzo tworzenie szablonow. Uwazam, ze smarty maja wieksze mozliwosci, oraz maja zaplecze w ludziach ktorzy modernizuja ten system, dzieki czemu staje sie coraz lepszy.
zastanow sie nad tym. Smarty sa dobre do kazdego CMS'a wedlug mnie. Sam napisalem CMS'a, i uzylem w nim smarty, a na predkosc generowania strony nie narzekam. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie stosuję obecnie any Smarty ani innego systemu skór (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Generalnie wynik działania moduły/bloku itp. wciągany jest po 2 zmienne tytul/treść i includowany jest odpowiedni plik skórki gdzie w odpowiednim miejscu jest echo... a działa to dość dobrze link. Jak się struktóra wykrystalizuję zastosuję pewnie jakiś prosty system skór na podstawie jakieś dobrej klasy z phpclasses.org, mam kilka typów.
Kod Riklaunim, zrozumiales? Nie. Nie potrzebuję do niczego tak dużego skryptu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Nie lubię wyglądu kodu skór Smarty, nie lubię Encompass i Xanthi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#19
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
a ja zaproponuje dwie opcje. Pierwsza to użycie klasy translate z pakiety PEAR, co jednak wymaga wielu innych części pakietu PEAR... (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)
Inna opcja to skorzystanie z wbydowanej w wiele buildów funkcji _() albo inaczej gettext(). Wymaga to troszkę zabawy ale jest w miare porządnie zrobione i elastyczne. Na dodatek dodam jeszcze, że jest to metoda sprawdzona w niezliczonej (ok, może nie przesadzajmy, ale naprawdę w olbrzymiej) ilości programów (szczególnie na *nixa), więc powinna być w miarę niezawodna. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 204 Pomógł: 0 Dołączył: 26.12.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
A ja polecę Savant'a.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:15 |