Budući da sam prilično veliki fan HTC sata i vremenske prognoze koja je standardna na Android uređajima, to sam preveo i Windows verziju te aplikacije.
Sada sam pronašao i njegovu PHP verziju čiji je autor Radoslav Dimov - jDigiClock te sam je popravio, doradio i preveo na Bosanski i Slovenski jezik, slika lijevo (kliknite na sliku da pogledate trenutnu prognozu).
Trenutna verzija je V2.3l.
Međutim, ubrzo sam sa razočarenjem utvrdio da, iako izgleda prelijepo, skripta ne funkcioniše. AccuWeather provider vremenske prognoze je odavno zamijenio strukturu XML file-a koji nosi informacije. Zbog toga sam skriptu poravio, te dodao mogućnost prikaza informacija u željenom jeziku (čega nije bilo prije).
Nakon toga sam uradio i prijevod poruka vremenske prognoze na Bosanski i Slovenski jezik. Prijevodi trenutno sadrže 1224 poruke koje se pojavljuju u opisima vremenske prognoze. Budući da ne postoji lista mogućih poruka, bio sam prinuđen mijenjati lokacije za prikaz prognoze i na osnovu prikazanih poruka raditi prijevode. Zbog toga ne mogu garantovati da su apsolutno sve poruke prevedene. Preveo sam sve one koje sam uspio vidjeti :) (još uvijek dodajem nove prevedene poruke)
Svaku novu poruku koju pronađem ću prevesti i uključiti u buduće verzije skripte.
Kako izgleda i funkcioniše php verzija HTC sata i vremenske prognoze?
Na slici iznad je prvi prikaz koji sadrži digitalni sat, trenutne vremenske prilike i ime mjesta za koje se prikazuje vremenska prognoza.
Kao što se može vidjeti, sat i vremenska prognoza izgleda poput HTC sata i vremenske prognoze (kliknite na sliku da pogledate trenutnu prognozu).
Klik na strelicu koja se nalazi lijevo ili desno od sata, donosi drugi prikaz sa vremenskom prognozom za naredna 4 dana i to sa opisom koji se pojavi kao tooltip ako zadržimo pokazivač miša iznad ikonice vremenske prognoze za željeni dan, slika desno.
U gornjem dijelu je prikazana prelijepa ikonica koja oslikava trenutne vremenske prilike, trenutna temperatura, maksimalna/mininalna temperatura, ime lokacije za koju se prikazuje te opis trenutnih vremenskih prilika.
U donjem dijelu je prikaz vremenske prognoze za naredna 4 dana sa prikazanom ikonicom vremenskih prilika te minimalnom i maksimalnom temperaturom očekivanom za taj dan.
Ako pokazivač miša zadržimo iznad vremenske prognoze za neki od prikazana četiri dana, u tooltip-u će se pojaviti opis očekivanih vremenskih prilika.
Po default-u su ti opisi, kao i imena dana u sedmici i mjeseca u godini prikazani na Engleskom jeziku. Međutim, sve to sam preveo na Bosanski i Slovenski jezik. Izbr željenog jezika se vrši u konfiguraciji unutar index.php file-a.
Kako pokrenuti jDigiClock?
Prije svega, download-ovati rar arhivu jDigiClock - php verzija HTC sata:
Nakon download-a, file jDigiClock.rar ekstraktovati na disk. Rezultat je folder sa imenom jdigiclock.
Cijeli folder jdigiclock je potrebno iskopirati na root svoga web servera. Na kraju, u web browser upisati adresu do skripte (http://ime_domene/jdigiclock) i pojaviće se jDigiClock sa trenutnom vremenskom PROGNOZOM ZA TUZLU.
Ako želite da zamijenite lokaciju za koju je prikazana vremenska prognoza, morate edit-ovati index.php iz jdigiclock foldera.
U otvorenom index.php pronaći sljedeći kôd:
$(document).ready(function()
{
$('#digiclock').jdigiclock(
{
// Konfiguracija prikaza
Ispod se nalaze linije sa sljedećim parametrima:
clockImagesPath: 'images/clock/',
weatherImagesPath: 'images/weather/',
Ispod se nalaze linije sa sljedećim parametrima:
clockImagePath: i weatherImagesPath: predstavlja putanje do sličica za sat i prikaz vremenske prognoze i te parametre nije potrebno mijenjati, osim ako nemate svoju kolekciju odgovarajućih sličica.
dalje su parametri:
lang: 'ba',
am_pm: false,
Gdje parametar lang: određuje jezik prikaza u jDigiClock vremenskoj prognozi. Ako umjesto ba upišete si ili en dobićete prikaz na Slovenskom ili Engleskom jeziku.
To znači da, trenutno, moja verzija skripte jDigiClock podržva tri jezika: Bosanski (ba), Slovenski (si) i Engleski (en).
Ako neko ima želju da jDigiClock prevede na neki drugi jezik, neka mi se obrati futem KONTAKT forme. Unaprijed hvala.
Parametar am_pm: služi za podešavanje prikaza vremena na 24h (false) i 12h (true).
Ispod slijedi:
//Bosna i Hercegovina
weatherLocationCode: 'EUR|BA|BK001|TUZLA',
//weatherLocationCode: 'EUR|BA|BK001|TOJSICI',
Parametar weatherLocationCode: određuje lokaciju za koju se daje vremenska prognoza.
Ako komentarišete (dodavanjem // ispred) prvi parametar, uklonite komentar ispred drugog, snimite dokument i upload-ujete ga na web server, umjesto vremenske prognoze za Tuzlu biće prikazana prognoza za Tojšiće.
String unutar apostrofa, EUR|BA|BK001|TUZLA
, određuje lokaciju na sljedeći način: EUR - Evropa, BA - Bosna i Hercegovina, BK001 - zonu vremenske prognoze na koju je svaka država podijeljena (koliko sam uspio otkriti u BiH su zone BK001 i BK002). Zadnji segment, TUZLA, određuje mjesto za koje se prikazuje prognoza.
Ako želite zamijeniti lokaciju, u index.php sam već dodao (komentarisane) neke lokacije u Bosni i Hercegovini, Sloveniji, Hrvatskoj i Njemačkoj. Veliki broj svjetskih lokacija (preko 3900) pronaćete u listi koju možete preuzeti sa linka ispod:
U listi je potrebno pronaći lokaciju najbližu svojoj lokaciji, iskopirati oznaku lokacije u parametar weatherLocationCode: u index.php i probati da li prikaz vremenske prognoze funkcioniše. Ako je sve uredu, umjesto zadnje oznake (imena mjesta) upisati ime ime svoje lokacije i probati prikaz vremenske prognoze.
Za Bosnu i Hercegovinu sam pronašao sljedeće kodove lokacija:
//Bosna i Hercegovina
weatherLocationCode: 'EUR|BA|BK001|TUZLA',
weatherLocationCode: 'EUR|BA|BK001|TOJSICI',
weatherLocationCode: 'EUR|BA|BK001|MEMICI',
weatherLocationCode: 'EUR|BA|BK001|KALESIJA',
weatherLocationCode: 'EUR|BA|BK001|MASLE',
weatherLocationCode: 'EUR|BA|BK001|ZIVINICE',
weatherLocationCode: 'EUR|BA|BK001|DUBRAVE',
weatherLocationCode: 'EUR|BA|BK001|HRASNO',
weatherLocationCode: 'EUR|BA|BK001|GUTICI',
weatherLocationCode: 'EUR|BA|BK001|SREBRENIK',
weatherLocationCode: 'EUR|BA|BK001|GRADACAC',
weatherLocationCode: 'EUR|BA|BK001|SARAJEVO',
weatherLocationCode: 'EUR|BA|BK001|KONJIC',
weatherLocationCode: 'EUR|BA|BK001|MOSTAR',
weatherLocationCode: 'EUR|BA|BK001|NEUM',
weatherLocationCode: 'EUR|BA|BK001|CAPLJINA',
weatherLocationCode: 'EUR|BA|BK002|PRIJEDOR',
weatherLocationCode: 'EUR|BA|BK002|DOBOJ',
weatherLocationCode: 'EUR|BA|BK002|GRACANICA',
weatherLocationCode: 'EUR|BA|BK002|LUKAVAC',
weatherLocationCode: 'EUR|BA|BK002|BRCKO',
weatherLocationCode: 'EUR|BA|BK002|ORASJE',
weatherLocationCode: 'EUR|BA|BK002|BIJELJINA',
Moguće je definisati i jedinicu za prikaz temperature, odnosno prikaz u °C ili F. Za to služi parametar:
weatherMetric: 'C',
Upisom C prikaz će biti u stepenima celzijusa, dok upisom F dobijamo prikaz u ferenhajtima (fahreheit).
Sljedeći parametar definiše frekvenciju osvježavanja vremenske prognoze:
weatherUpdate: 10,
Broj 10 predstavlja broj minuta nakon kojih se automatski osvježava vremenska prognoza. Upisom 0 isključuje se automtsko osvježavanje informacija vremenske prognoze. Inače, vremensku prognozu je moguće i ručno osvježiti klikom na ikonicu za osvježavanje (dvije strelice ukrug lijevo od datuma na drugom prikazu).
Zadnji parametar definiše parser informacija vremenske prognoze.
proxyType: 'php'
Ova skripta podržava dva tipa i to php i asp. Budući da sam sve prijevode opisa vremenskih prilika uradio unutar php verzije, to bih preporučio da ne mijenjate proxyType.
Ova skripta je pogodna za ugradnju u PHP ili HTML stranicu pomoću include funkcije.
Što se tiče prikaza u Joomla CMS-u, tu ima nekih problema. Većinu sam riješio, ali prikaz nije baš najbolji. Kada riješim i taj problem, objaviću drugu verziju za Joomla CMS.
P.S.
Budući da je accuweather.com kao izvor vremenske prognoze mijenjao strukturu XML morao sam napraviti izmjene u proxy.php kao i u jquery.jdigiclock.js.
Zbog promijenjene strukture nije prikazivan opis današnje vremenske prognoze u drugom prikazu (klik na strelicu) nego je bilo ispisano N/A.
Isto tako, prvi dan od četiri u donjem dijelu drugog prikaza je bio današnji dan umjesto sutrašnjeg.
To sam popravio tako što sam u proxy.php zamijenio $day = 5;
sa $day = 6;
Pored toga, u jquery.jdigiclock.js sam, unutar petlje for (var i in data.forecast)
dodao if naredbu koja prikazuje vremensku prognozu za index i>0
čime je omogućen prikaz vremenske prognoze, ispod prognoze za danas u drugom prikazu, za 4 naredna dana.
Iznad toga sam, u prikazu prognoze za danas u gornjem dijelu dugog prikaza promijenio index 0 u 1 (data.forecast[1].day_text
) na više mjesta.
Izgleda da su popravili svoju grešku pa je sve opet u funkciji.