Quotes

"Fear is a disease; hope is its only cure." - CloneWars quote
Prikazani su postovi s oznakom programiranje. Prikaži sve postove
Prikazani su postovi s oznakom programiranje. Prikaži sve postove

ponedjeljak, srpnja 28, 2008

qooxdoo - JavaScript GUI & više od toga

Pompazan naslov ali vec dugo tražim ovako nesto. Jos nemam pojma da li je to to sto trazim ali ko i do sada nadam se da je. Naime vec dugo zelim PHP koristiti samo za backend a nesto drugo za GUI (prezentaciju). Tako sam vec probo Google Web Toolkit koji je nekako vise orjentiran na Javu sto se tice samog razvoja aplikacije. Tako tu i tamo nabasam na neke stvari koje inicijalno izgledaju super (obicno se vrte na Flashu kojeg ne preferiram) ali na kraju ispadnu da mi iz nekog razlog neodgovaraju. Mozda ce tako biti i s qooxdoo ali moje upoznavanje s ovim biti ce dokumentirano pa ce to mozda nekom drugom biti od pomoci pri odluci. Za vise pogledajte http://boris.kodmasin.net/php:qooxdoo

utorak, listopada 03, 2006

Google Code - hostanje projekta

Google je medu uslugama koje nudi dodao i hostanje open source projekata. Zgodan i jednostavan alat koji se lako administrira. Kao korisnik imate na raspolaganju subversion i issue tracker. Issue tracker mozete lako prilagoditi seb pomocu labela (lables). Meni jedino fali da mogu spremiti odgovorajuce labele kao kolumne kod pregleda problema. Trenutno to moram svaki put ponovno postavljati.

PHP i gettext

Nakon mnogih istrazivanja pa cak i izrade vlastog rijesenja (iloc) za prevodenje PHP aplikacija zakuljcio sam da je za mene najbolje koristiti gettext za lokalizaciju. Prije par godina gettext za PHP mi se cinio da ima slijedece karakteristike:
  • neprilkladan za skriptne jezike
  • .po format je kompliciran i translatori nemaju dobar alat za manipulaciju njime te im treba napraviti vizualno sucelje da prevode stringove.
  • lose preformanse (sporost)
  • relativno kompliciran za PHP
Cinilo mi se bolje da prijevode rijesavam pomocu nizova (array). Mozda pod utjecajem drugih open source aplikacija (myPHPadmin). Neko sam vrijeme radio s cistim nizovima u fileovima. To je bilo ok za manje projekte ali bih kod vecih imao problema s masom stringova te problemom s indeksima (kljuceima) niza. Naime dosta je mi je bilo teze programirati (pogotovo debugirati) kada sam svako znacenje nekog kljuca treba gledati u file gdje je bio definiran niz s prijevodima.

Tako sam cak krenuo raditi iloc. iloc je spremao prijevode u jedan file (.xml) pa ih onda citao iz tog filea i generirao niz. Taj nniz bi se onda spremao u neki file koji bi se onda includao. U biti je to bilo rijesenje pomocu nizova ali s pokusajem da prijevodi budu u xml fromatu radi lakse manipulacije (prevodenja). Dio iloca je bila celeva aplikacija koja je sluzila prevoditeljima za prevodenje. Kad sam to implementirao odmah sam uvidio da vec posotji standard XLIFF koji iloc nazalost nisam implementirao. To bi se jos dalo srediti ali kako je projekt za koji sam napravio iloc rastao vidio sam da se ne mogu snalaziti u silnim fileovima. To je zato jer za svaki .php file postoji .xml fiel s prijevodima. Ujedno u kodu je trebalo definirati konstante koje su sluzile za dohvat prijevoda i osnovni prijevod. Tu se znala desiti zbrka s konstantam (duplici itd). iloc ima i scriptu za ivlacenje i generiranje osnovnog .xml file. On je sadrzavao konstante i osnovni prijevod. Osim navedenih problema glavni razlog mog napustanja iloca je bilo sto je prijevode na druge jezike sadrzavao u istom .xml fileu. Taj je file kasnije, kada su se neke konstante i osnovni prijevodi promjenili, a vec su supostojali drugi porievodi, bilo tesko azurirati. Tako sam iloc odbacio i nastavio raditi s nizovima.
Sve do sijecnja 2006 kada sam se odlucio poceti raditi loota-u. Onda sam rekao idem ovo raditi s gettextom. Ujedno sam si mislio sta da se opterecujem s necim sto je neko vec rijesio a i lootau mozda nikada nece ni trebati prevesti. Malo sam progooglao i odmah nabasao na Benchmarking PHP Localization - Is gettext fast enough?. Procitavši to i bez puno razmisljanja poceo sam koristiit gettext. Tako sam danas sretniji jer vise vremene provodim stvarno programirajuci i ne prevodeci (pamteci sto mi koji string znaci, da li sam ga definirao u odredenom prijevodu, itd). Gettext ima puno alata koji cine prevodenje lakse i jednostavnije a postoje i razni drugi alati (npr. POEdit). Ako samo proguglate naci cete puno tutoriala, a ovdje evo samo jedan na Hrvatskom.