diff options
author | gorhill <rhill@raymondhill.net> | 2015-03-09 19:10:04 -0400 |
---|---|---|
committer | gorhill <rhill@raymondhill.net> | 2015-03-09 19:10:04 -0400 |
commit | e7479dd4beecdee1802cf831e319cde653a86be5 (patch) | |
tree | f0f360fd5acdd9c752a2e664652cfc4cdfeb9e64 /src | |
parent | 86c52305c82c901ffaf4b456f86e2f43ec174a22 (diff) | |
download | uBlock-e7479dd4beecdee1802cf831e319cde653a86be5.zip uBlock-e7479dd4beecdee1802cf831e319cde653a86be5.tar.gz uBlock-e7479dd4beecdee1802cf831e319cde653a86be5.tar.bz2 |
this fixes #313
Diffstat (limited to 'src')
-rw-r--r-- | src/_locales/en/messages.json | 24 | ||||
-rw-r--r-- | src/js/3p-filters.js | 4 | ||||
-rw-r--r-- | src/js/i18n.js | 28 |
3 files changed, 55 insertions, 1 deletions
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index b4ee7c5..450c717 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -523,6 +523,30 @@ "message":"µBlock: Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}", "description":"English: The message seen by the user to confirm subscription to a ABP filter list" }, + "elapsedOneMinuteAgo":{ + "message":"a minute ago", + "description":"English: a minute ago" + }, + "elapsedManyMinutesAgo":{ + "message":"{{value}} minutes ago", + "description":"English: {{value}} minutes ago" + }, + "elapsedOneHourAgo":{ + "message":"a hour ago", + "description":"English: a hour ago" + }, + "elapsedManyHoursAgo":{ + "message":"{{value}} hours ago", + "description":"English: {{value}} hours ago" + }, + "elapsedOneDayAgo":{ + "message":"a day ago", + "description":"English: a day ago" + }, + "elapsedManyDaysAgo":{ + "message":"{{value}} days ago", + "description":"English: {{value}} days ago" + }, "dummy":{ "message":"This entry must be the last one", "description":"so we dont need to deal with comma for last entry" diff --git a/src/js/3p-filters.js b/src/js/3p-filters.js index 782c800..22226c5 100644 --- a/src/js/3p-filters.js +++ b/src/js/3p-filters.js @@ -127,7 +127,9 @@ var renderBlacklists = function() { // In cache if ( asset.cached ) { - li.descendants('span.status.purge').css('display', ''); + elem = li.descendants('span.status.purge'); + elem.css('display', ''); + elem.attr('title', renderElapsedTime(asset.lastModified)); hasCachedContent = true; } return li; diff --git a/src/js/i18n.js b/src/js/i18n.js index c9536c6..8ca47a7 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -20,6 +20,8 @@ */ /* global vAPI, uDom */ +/* exported renderElapsedTime */ + 'use strict'; /******************************************************************************/ @@ -46,3 +48,29 @@ uDom.onLoad(function() { ); }); }); + +/******************************************************************************/ + +var renderElapsedTime = function(tstamp) { + var value = (Date.now() - tstamp) / 60000; + if ( value < 2 ) { + return vAPI.i18n('elapsedOneMinuteAgo'); + } + if ( value < 60 ) { + return vAPI.i18n('elapsedManyMinutesAgo').replace('{{value}}', Math.floor(value).toLocaleString()); + } + value /= 60; + if ( value < 2 ) { + return vAPI.i18n('elapsedOneHourAgo'); + } + if ( value < (24 * 60) ) { + return vAPI.i18n('elapsedManyHoursAgo').replace('{{value}}', Math.floor(value).toLocaleString()); + } + value /= 24; + if ( value < 2 ) { + return vAPI.i18n('elapsedOneDayAgo'); + } + return vAPI.i18n('elapsedManyDaysAgo').replace('{{value}}', Math.floor(value).toLocaleString()); +}; + +/******************************************************************************/ |