| 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
 |