[ vilyu @ 28.01.2006. 14:03 ] @
Ćao. Radim višejezični CMS. Dakle, ne CMS za višejezični sajt, nego sam CMS treba da bude preveden na nekoliko jezika.

Kako sam HTML razdvojio od PHP koda u zasebne fajlove, nije mi problem da uz pomoć lang fajla učitam različite jezike za poruke koje PHP kod treba da ispiše, poput: Access Denied, Wrong Password i sl. Problem je kako da namestim prevođenje teksta koji se nalazi u HTML fajlovima na ostale jezike.

Na pamet mi padaju dve mogućnosti i ni jedna mi se ne sviđa. A to su:
- da iskopiram sve HTML teplate fajlove u onoliko primeraka koliko ima različitih jezika i potom ih pozivam iz odgovarajućih direktorijuma, ali onda svaka izmena u jednom povlači izmene i u ostalim.
- da svaku rečenicu u template fajlovima zamenim nečim poput #korisnicko_ime# i onda da prilikom učitavanja u PHP bilo kog template-a, ponovo zamenjujem te oznake pravim rečenicama iz lang fajla.

Da li predlažete elegantnije rešenje? Ili mi barem recite sta mislite da je bolje od ova dva.

Hvala.
[ Nemanja Avramović @ 28.01.2006. 18:06 ] @
Druga solucija, a implementacija (polu)automatskog zamenjivanja ne bi trebalo da bude tesko da se odradi (nesto slicno kao sto Smarty radi)
[ valeksa @ 29.01.2006. 10:21 ] @
Citat:
vilyu: Ćao. Radim višejezični CMS. Dakle, ne CMS za višejezični sajt, nego sam CMS treba da bude preveden na nekoliko jezika.

Kako sam HTML razdvojio od PHP koda u zasebne fajlove, nije mi problem da uz pomoć lang fajla učitam različite jezike za poruke koje PHP kod treba da ispiše, poput: Access Denied, Wrong Password i sl. Problem je kako da namestim prevođenje teksta koji se nalazi u HTML fajlovima na ostale jezike.

Na pamet mi padaju dve mogućnosti i ni jedna mi se ne sviđa. A to su:
- da iskopiram sve HTML teplate fajlove u onoliko primeraka koliko ima različitih jezika i potom ih pozivam iz odgovarajućih direktorijuma, ali onda svaka izmena u jednom povlači izmene i u ostalim.
- da svaku rečenicu u template fajlovima zamenim nečim poput #korisnicko_ime# i onda da prilikom učitavanja u PHP bilo kog template-a, ponovo zamenjujem te oznake pravim rečenicama iz lang fajla.

Da li predlažete elegantnije rešenje? Ili mi barem recite sta mislite da je bolje od ova dva.

Hvala.


pa zavisi od mnogo stvari.

Iz mog iskustva, gettext (http://www.php.net/gettext) mi je dao najbolje performanse ali je nezgodan za odrzavanje i za instalaciju.

Zavisi i koji su jezici u pitanju jer onda ulazi u pricu i kodna strana. Ako hoces univerzalno resenje, sto se tice kodne strane, ides na utf-8. Onda mozes da imas problema sa editorima i sa podrskom PHP-a i utf-8, tj. nepostojanje podrske.

Opet zavisi i od broja izraza za prevodjenje, da li ce se menjati, itd..

Od tvoja dva predloga, slazem se sa JaHvram-om, drugi je laksi za odrzavanje.
[ Nemanja Avramović @ 29.01.2006. 13:30 ] @
Evo me najzad sa mog kompa. Evo ti moj "mini-Smarty" koji ti moze posluziti, a lak je za koriscenje... To je jako osiromaseni Smarty, i poseduje samo ispisivanje promenljivih u template. Nema loop-ova i slicnih stvari kao kod Smarty-ja... Mada ako ti je CMS malo slozeniji mozda ces i pozeleti da radis sa Smarty-jem?

[Ovu poruku je menjao JaHvram dana 29.01.2006. u 14:33 GMT+1]
[ broker @ 29.01.2006. 16:03 ] @
Probaj http://ult.datavoyage.com. Ja sam ga bas i razvijao za potrebe visejezicnog CMS-a. Bespaltan je.
[ vilyu @ 30.01.2006. 11:43 ] @
Hvala svima na odgovorima. Dali ste mi odličnu ideju kako da sam napišem sopstvenu klasu za prevođenje.
[ Nemanja Avramović @ 31.01.2006. 14:39 ] @
Postavi je ovde kad je napises :)