Kohana_Date::fuzzy_span in een Smarty view

De functie fuzzy_span retourneert het verschil tussen een timestamp en nu op een "fuzzy" manier.

We creƫren een smarty modifier genaamd age (function.fuzzy_span.php), en plaatsen deze in de map smarty_plugins :

function smarty_function_fuzzy_span($params, &$smarty)
{
  $timestamp = arr::get($params, 'timestamp');

  return __(Kohana_Date::fuzzy_span($timestamp));
}

In de Smarty view :

{fuzzy_span timestamp=$model_user->last_login}

Voor de vertaling passen we nl.php aan in 'application\i18n' :

// Verleden
'moments ago'             => 'een moment geleden',
'a few minutes ago'       => 'een paar minuten geleden',
'less than an hour ago'   => 'minder dan een uur geleden',
'a couple of hours ago'   => 'een paar uur geleden',
'less than a day ago'     => 'minder dan een dag geleden',
'about a day ago'         => 'ongeveer een dag geleden',
'a couple of days ago'    => 'een paar dagen geleden',
'less than a week ago'    => 'minder dan een week geleden',
'about a week ago'        => 'ongeveer een week geleden',
'less than a month ago'   => 'minder dan een maand geleden',
'about a month ago'       => 'ongeveer een maand geleden',
'a couple of months ago'  => 'een paar maanden geleden',
'less than a year ago'    => 'minder dan een jaar geleden',
'about a year ago'        => 'ongeveer een jaar geleden',
'a couple of years ago'   => 'een paar jaar geleden',
'a few years ago'         => 'een paar jaar geleden',
'about a decade ago'      => 'ongeveer een decennium geleden',
'a couple of decades ago' => 'een paar decennia geleden',
'several decades ago'     => 'een aantal decennia geleden',
'a long time ago'         => 'een lange tijd geleden',

// Toekomst
'in moments'             => 'in een moment',
'in a few minutes'       => 'in een paar minuten',
'in less than an hour'   => 'in minder dan een uur',
'in a couple of hours'   => 'in een paar uur',
'in less than a day'     => 'in minder dan een dag',
'in about a day'         => 'in ongeveer een dag',
'in a couple of days'    => 'in een paar dagen',
'in less than a week'    => 'in minder dan een week',
'in about a week'        => 'in ongeveer een week',
'in less than a month'   => 'in minder dan een maand',
'in about a month'       => 'in ongeveer een maand',
'in a couple of months'  => 'in een paar maanden',
'in less than a year'    => 'in minder dan een jaar',
'in about a year'        => 'in ongeveer per jaar',
'in a couple of years'   => 'in een paar jaar',
'in a few years'         => 'in een paar jaar',
'in about a decade'      => 'in ongeveer een decennium',
'in a couple of decades' => 'in een paar decennia',
'in several decades'     => 'in enkele decennia',
'in a long time'         => 'in een lange tijd'