| 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@932 | 8   value = value:gsub("%..*", "") | 
| bsw@932 | 9     :gsub("days", "{DAYS}") | 
| bsw@932 | 10     :gsub("day", "{DAY}") | 
| bsw@932 | 11     :gsub("mons", "{MONS}") | 
| bsw@932 | 12     :gsub("mon", "{MON}") | 
| bsw@1045 | 13     :gsub("years", "{YEARS}") | 
| bsw@932 | 14     :gsub("year", "{YEAR}") | 
| bsw@932 | 15 | 
| bsw@932 | 16   if (options.mode == "time_left") then | 
| bsw@932 | 17 | 
| bsw@932 | 18     local interval_text = value | 
| bsw@932 | 19       :gsub("{DAYS}", _"days [interval time left]") | 
| bsw@932 | 20       :gsub("{DAY}", _"day [interval time left]") | 
| bsw@932 | 21       :gsub("{MONS}", _"months [interval time left]") | 
| bsw@932 | 22       :gsub("{MON}", _"month [interval time left]") | 
| bsw@932 | 23       :gsub("{YEARS}", _"years [interval time left]") | 
| bsw@932 | 24       :gsub("{YEAR}", _"year [interval time left]") | 
| bsw@932 | 25     return _("#{interval_text} left", { interval_text = interval_text }) | 
| bsw@932 | 26 | 
| bsw@932 | 27   elseif (options.mode == "ago") then | 
| bsw@932 | 28     local interval_text = value:gsub("years", _"years [interval ago]") | 
| bsw@932 | 29       :gsub("{DAYS}", _"days [interval ago]") | 
| bsw@932 | 30       :gsub("{DAY}", _"day [interval ago]") | 
| bsw@932 | 31       :gsub("{MONS}", _"months [interval ago]") | 
| bsw@932 | 32       :gsub("{MON}", _"month [interval ago]") | 
| bsw@932 | 33       :gsub("{YEARS}", _"years [interval ago]") | 
| bsw@932 | 34       :gsub("{YEAR}", _"year [interval ago]") | 
| bsw@932 | 35     return _("#{interval_text} ago", { interval_text = interval_text }) | 
| bsw@932 | 36 | 
| bsw@932 | 37   else | 
| bsw@932 | 38     local interval_text = value:gsub("years", _"years [interval]") | 
| bsw@932 | 39       :gsub("{DAYS}", _"days [interval]") | 
| bsw@932 | 40       :gsub("{DAY}", _"day [interval]") | 
| bsw@932 | 41       :gsub("{MONS}", _"months [interval]") | 
| bsw@932 | 42       :gsub("{MON}", _"month [interval]") | 
| bsw@932 | 43       :gsub("{YEARS}", _"years [interval]") | 
| bsw@932 | 44       :gsub("{YEAR}", _"year [interval]") | 
| bsw@932 | 45     return _("#{interval_text} [interval]", { interval_text = interval_text }) | 
| bsw@932 | 46 | 
| bsw@932 | 47   end | 
| bsw@1045 | 48 end |