diff --git a/src/js/client.js b/src/js/client.js index 1db984705..b9cd3396c 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -112,27 +112,27 @@ angular.module('Application').filter('trKeyFromPeriod', function () { }; }); -angular.module('Application').filter('prettyDate', function () { +angular.module('Application').filter('prettyDate', function ($translate) { // http://ejohn.org/files/pretty.js return function prettyDate(utc) { var date = new Date(utc), // this converts utc into browser timezone and not cloudron timezone! diff = (((new Date()).getTime() - date.getTime()) / 1000) + 30, // add 30seconds for clock skew day_diff = Math.floor(diff / 86400); - if (isNaN(day_diff) || day_diff < 0) - return 'just now'; + if (isNaN(day_diff) || day_diff < 0) return $translate.instant('main.prettyDate.justNow', {}); return day_diff === 0 && ( - diff < 60 && 'just now' || - diff < 120 && '1 minute ago' || - diff < 3600 && Math.floor( diff / 60 ) + ' minutes ago' || - diff < 7200 && '1 hour ago' || - diff < 86400 && Math.floor( diff / 3600 ) + ' hours ago') || - day_diff === 1 && 'Yesterday' || - day_diff < 7 && day_diff + ' days ago' || - day_diff < 31 && Math.ceil( day_diff / 7 ) + ' weeks ago' || - day_diff < 365 && Math.round( day_diff / 30 ) + ' months ago' || - Math.round( day_diff / 365 ) + ' years ago'; + diff < 60 && $translate.instant('main.prettyDate.justNow', {}) || + diff < 120 && $translate.instant('main.prettyDate.minutesAgo', { m: 1 }) || + diff < 3600 && $translate.instant('main.prettyDate.minutesAgo', { m: Math.floor( diff / 60 ) }) || + diff < 7200 && $translate.instant('main.prettyDate.hoursAgo', { h: 1 }) || + diff < 86400 && $translate.instant('main.prettyDate.hoursAgo', { h: Math.floor( diff / 3600 ) }) + ) || + day_diff === 1 && $translate.instant('main.prettyDate.yeserday', {}) || + day_diff < 7 && $translate.instant('main.prettyDate.daysAgo', { d: day_diff }) || + day_diff < 31 && $translate.instant('main.prettyDate.weeksAgo', { w: Math.ceil( day_diff / 7 ) }) || + day_diff < 365 && $translate.instant('main.prettyDate.monthsAgo', { m: Math.round( day_diff / 30 ) }) || + $translate.instant('main.prettyDate.yearsAgo', { m: Math.round( day_diff / 365 ) }); }; }); diff --git a/src/translation/de.json b/src/translation/de.json index a5df6369d..dc05a6ada 100644 --- a/src/translation/de.json +++ b/src/translation/de.json @@ -61,6 +61,9 @@ "selected": "{{ n }} ausgewählt", "select": "Auswählen", "filterPlaceholder": "Tippen um zu filtern" + }, + "prettyDate": { + "justNow": "gerade eben" } }, "network": { diff --git a/src/translation/en.json b/src/translation/en.json index 3eab54da9..2bf20c30e 100644 --- a/src/translation/en.json +++ b/src/translation/en.json @@ -61,6 +61,16 @@ "selected": "{{ n }} selected", "select": "Select", "filterPlaceholder": "Type to filter options" + }, + "prettyDate": { + "justNow": "just now", + "yeserday": "Yesterday", + "minutesAgo": "{{ m }} minutes ago", + "hoursAgo": "{{ h }} hours ago", + "daysAgo": "{{ d }} days ago", + "weeksAgo": "{{ w }} weeks ago", + "monthsAgo": "{{ m }} months ago", + "yearsAgo": "{{ y }} years ago" } }, "appstore": {