| rev | line source | 
| bsw@932 | 1 function format.interval_text(value, options) | 
| bsw@1099 | 2   if not value then | 
| bsw@1099 | 3     return nil | 
| bsw@1099 | 4   end | 
| bsw@932 | 5 | 
| bsw@932 | 6   local options = options or {} | 
| bsw@932 | 7 | 
| bsw/jbe@1309 | 8   value = value:match("^([^ ]* *[^ ]* *[^ ]* *[^ ]*)") | 
| bsw/jbe@1309 | 9 | 
| bsw@932 | 10   value = value:gsub("%..*", "") | 
| bsw@932 | 11     :gsub("days", "{DAYS}") | 
| bsw@932 | 12     :gsub("day", "{DAY}") | 
| bsw@932 | 13     :gsub("mons", "{MONS}") | 
| bsw@932 | 14     :gsub("mon", "{MON}") | 
| bsw@1045 | 15     :gsub("years", "{YEARS}") | 
| bsw@932 | 16     :gsub("year", "{YEAR}") | 
| bsw@932 | 17 | 
| bsw@932 | 18   if (options.mode == "time_left") then | 
| bsw@932 | 19 | 
| bsw@932 | 20     local interval_text = value | 
| bsw@932 | 21       :gsub("{DAYS}", _"days [interval time left]") | 
| bsw@932 | 22       :gsub("{DAY}", _"day [interval time left]") | 
| bsw@932 | 23       :gsub("{MONS}", _"months [interval time left]") | 
| bsw@932 | 24       :gsub("{MON}", _"month [interval time left]") | 
| bsw@932 | 25       :gsub("{YEARS}", _"years [interval time left]") | 
| bsw@932 | 26       :gsub("{YEAR}", _"year [interval time left]") | 
| bsw@932 | 27     return _("#{interval_text} left", { interval_text = interval_text }) | 
| bsw@932 | 28 | 
| bsw@932 | 29   elseif (options.mode == "ago") then | 
| bsw@932 | 30     local interval_text = value:gsub("years", _"years [interval ago]") | 
| bsw@932 | 31       :gsub("{DAYS}", _"days [interval ago]") | 
| bsw@932 | 32       :gsub("{DAY}", _"day [interval ago]") | 
| bsw@932 | 33       :gsub("{MONS}", _"months [interval ago]") | 
| bsw@932 | 34       :gsub("{MON}", _"month [interval ago]") | 
| bsw@932 | 35       :gsub("{YEARS}", _"years [interval ago]") | 
| bsw@932 | 36       :gsub("{YEAR}", _"year [interval ago]") | 
| bsw@932 | 37     return _("#{interval_text} ago", { interval_text = interval_text }) | 
| bsw@932 | 38 | 
| bsw@932 | 39   else | 
| bsw@932 | 40     local interval_text = value:gsub("years", _"years [interval]") | 
| bsw@932 | 41       :gsub("{DAYS}", _"days [interval]") | 
| bsw@932 | 42       :gsub("{DAY}", _"day [interval]") | 
| bsw@932 | 43       :gsub("{MONS}", _"months [interval]") | 
| bsw@932 | 44       :gsub("{MON}", _"month [interval]") | 
| bsw@932 | 45       :gsub("{YEARS}", _"years [interval]") | 
| bsw@932 | 46       :gsub("{YEAR}", _"year [interval]") | 
| bsw@932 | 47     return _("#{interval_text} [interval]", { interval_text = interval_text }) | 
| bsw@932 | 48 | 
| bsw@932 | 49   end | 
| bsw@1045 | 50 end |