Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydajny System Obsługi Języków, jakie rozwiązania przyjąć?
Riklaunim
post
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? aarambo.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Luke
post
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.


--------------------
<span style="font-weight: bold;">Open Source Enterprise Content Management</span>
Go to the top of the page
+Quote Post
DeyV
post
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 )


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
[fisher]
post
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
  1. {config_load file="lang.$lang" section="Global"}


a zeby wyswietlic, np
  1. {#GlobalSaveAs#}


przykladowo plik z tlumaczeniem (lang.pl) wyglada mniej wiecej tak
  1. [Global]
  2. GlobalSaveAs = Zapisz jako
  3. GlobalCharset = iso-8859-2
  4. GlobalCountryCode = pl



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


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
Riklaunim
post
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 tongue.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
DeyV
post
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ę.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
rzseattle
post
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

  1. <?php
  2. $smarty->display('szablon.tpl', $lang);
  3. ?>


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
Riklaunim
post
Post #8





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


http://www.massassi.com/bTemplate/benchmarks/ aaevil.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
bregovic
post
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:
  1. <?php
  2. include 'lang.'.$lang.'.php';
  3. ?>

i tablica:
  1. <?php
  2. $lang['ok'] = 'ok';
  3. $lang['yes'] = 'tak';
  4. $lang['no'] = 'nie';
  5. etc...
  6. ?>

wedlug mnie to najlepsza opcja dla nie-smarciarzy biggrin.gif


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
[fisher]
post
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 tongue.gif

Przesadzasz, przy cache'owaniu nie jest tak zle


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
rzseattle
post
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)

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 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.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
[fisher]
post
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


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
Luke
post
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 winksmiley.jpg


--------------------
<span style="font-weight: bold;">Open Source Enterprise Content Management</span>
Go to the top of the page
+Quote Post
[fisher]
post
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 :) ?


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
Chewolf
post
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 ?
Go to the top of the page
+Quote Post
Luke
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 215
Pomógł: 0
Dołączył: 28.10.2003
Skąd: -

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


Riklaunim, zrozumiales?


--------------------
<span style="font-weight: bold;">Open Source Enterprise Content Management</span>
Go to the top of the page
+Quote Post
Ace
post
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.
Go to the top of the page
+Quote Post
Riklaunim
post
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 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 tongue.gif Nie lubię wyglądu kodu skór Smarty, nie lubię Encompass i Xanthi tongue.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
Jabol
post
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... 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.
Go to the top of the page
+Quote Post
Ozzy
post
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.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:53