Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

X Time Ago ......

[es] :: PHP :: X Time Ago ......

[ Pregleda: 1084 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

balkan7

Član broj: 119255
Poruke: 82
85.30.84.*



Profil

icon X Time Ago ......02.09.2011. u 22:25 - pre 153 meseci
U ovoj funkciju se koristi default jezik za prikazivanja datum (english), zelim da promenim u makedonski, ali treba mi vasa pomoc.

Code:

<?php
function ShowDate($date) // $date -->  time(); value
    {
        $stf = 0;
        $cur_time = time();
        $diff = $cur_time - $date;
        $phrase = array('second','minute','hour','day','week','month','year','decade');
        $length = array(1,60,3600,86400,604800,2630880,31570560,315705600);
        for($i =sizeof($length)-1; ($i >=0)&&(($no =  $diff/$length[$i])<=1); $i--); if($i < 0) $i=0; $_time = $cur_time  -($diff%$length[$i]);
        $no = floor($no); if($no <> 1) $phrase[$i] .='s'; $value=sprintf("%d %s ",$no,$phrase[$i]);
        if(($stf == 1)&&($i >= 1)&&(($cur_tm-$_time) > 0)) $value .= time_ago($_time);
        return $value.' ago ';
    }
?>


Na makedonskog jezika to bi izgledao ovako

$phrase1 = array('sekunda','minuta','sat','den','nedela','mesec','godina','decenija');

$phrase2 = array('sekundi','minuti','sati','dena','nedeli','meseci','godini','decenii');
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: X Time Ago ......03.09.2011. u 02:40 - pre 153 meseci
Pretpostavljam da je phrase1 jednina, a phrase2 množina. U tom slučaju možda ovako nešto:
Code:

<?php
function ShowDate($date) // $date -->  time(); value
    {
        $stf = 0;
        $cur_time = time();
        $diff = $cur_time - $date;
        
        $phrase1 = array('sekunda','minuta','sat','den','nedela','mesec','godina','decenija');
        $phrase2 = array('sekundi','minuti','sati','dena','nedeli','meseci','godini','decenii');
        $length = array(1,60,3600,86400,604800,2630880,31570560,315705600);
        
        for($i =sizeof($length)-1; ($i >=0)&&(($no =  $diff/$length[$i])<=1); $i--); 
            if($i < 0) 
                $i=0; $_time = $cur_time  -($diff%$length[$i]);
                
        $no = floor($no); 
        if($no == 1) 
            $c_phrase = $phrase1[$i];
        else 
            $c_phrase = $phrase2[$i]; 
        
        $value=sprintf("%d %s ",$no,$c_phrase);
        if(($stf == 1) && ($i >= 1) && (($cur_tm-$_time) > 0)) 
            $value .= time_ago($_time);
        return $value.' ago ';
    }
?>


Samo da napomenem da nisam ni video PHP kod nekih 7-8 godina i da nisam ovo probao, ali liči da bi trebalo da radi, izmena je dosta jednostavna. Probaj, pa viči ako nešto ne radi.

E da, prepravi i ovo "ago" u odgovarajuću reč i eventualno je pomeri da se konkatenira na početak umesto na kraj (ako treba, ne znam makedonski).
 
Odgovor na temu

[es] :: PHP :: X Time Ago ......

[ Pregleda: 1084 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.