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'